# JJYChengTaskWinForm **Repository Path**: jjycheng/JJYChengTaskWinForm ## Basic Information - **Project Name**: JJYChengTaskWinForm - **Description**: 我们在做些小应用的时候,需要查看程序执行时间、执行日志和错误日志。这个框架JJYChengTaskWinForm完全可以满足你的需求。 框架功能介绍: 1.多线程业务处理 2.时时运行日志 3.时时错误日志 4.数据库操作 5. 程序运行耗时查看 示例应用: 1. 爬虫项目 2. 数据对比 3. 数据迁移 4. 数据批量操作 5. 文件批量操作 6. .....等等 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-06 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多线程任务执行窗体框架jjychengTaskWinForm - 作者:jjycheng - 博客:https://blog.csdn.net/cplvfx ![输入图片说明](img/JJYChengTaskWinForm.gif) ## 研发背景: 我们在做些小应用的时候,需要查看程序执行时间、执行日志和错误日志。这个框架完全可以满足你的需求。 ## 示例应用: 1. 爬虫项目 2. 数据对比 3. 数据迁移 4. 数据批量操作 5. 文件批量操作 6. .....等等 ## 框架功能介绍: ### 1.多线程业务处理 ![输入图片说明](img/image1.png) ### 2.时时运行日志 ![输入图片说明](img/image2.png) ### 3.时时错误日志 ![输入图片说明](img/image3.png) ### 4.数据库操作,使用的ORM是SqlSugar,支持多种数据库; 网址:https://www.donet5.com/Home/Doc | 关系型数据库 | MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦DB2、Duckdb 人大金仓(合作关系)、海量数据库Vastbase(合作关系)MongoDb、神通数据库、瀚高、Access 、OceanBase、虚谷数据库 MySqlConnector、华为 GaussDB 、南大通用gbase8sMariaDB、Tidb、Odbc、Percona Server Amazon AuroraAzure Database for MySQL、PolarDB、Google Cloud SQL for MySQLkunDB、TDSQL、GoldenDB 、Doris、Hana 和 自定义数据库 | | ------------ | ------------------------------------------------------------ | | 适合分布式 | OceanBase 、Tidb、GaussDB 、Doris | | 时序数据库 | TDengine (支持群集,缺点不支持更新,语法比较弱支持的东西少)QuestDb(适合几十亿数据分析,模糊查询,适合单机,语法强大) | | 列式存储库 | Clickhouse(适用于商业智能领域(BI) Duckdb | | 文档数据库 | MongoDb | | 即将上线 | Sybase、FireBird、InfluxDBlitedb、 ElasticSearch | ### 5. 程序运行耗时查看 ![输入图片说明](img/image5.png) ## 框架截图: 程序运行后初始截图: ![输入图片说明](img/imageInit.png) 程序运行截图: ![输入图片说明](img/image1.png) 程序运行最大化截图: ![输入图片说明](img/imageMax.png) ## 技术栈和依赖第三方包说明: ### 技术栈介绍: - 编程语言:C# - 开发框架:.NET Core 8.0(跨平台运行时环境) - UI框架:Windows Forms(WinForm,用于构建Windows桌面应用程序) ### 依赖第三方包: - Microsoft.AspNetCore.StaticFiles(v2.3.0) - 描述:ASP.NET Core static files middleware. Includes middleware for serving static files, directory browsing, and default files. - 作者:Microsoft - SqlSugarCore(v5.1.4.202) - 描述: .Net Core3.1 .Net5 .Net6 .Net7 .Net8 .Net9 .Net10 安装此版本,好用的ORM框架 ,支持国外主流和国产人大金仓达梦 OceanBase GaussDB QuestDb ClickHouse Oracle MySql Gbase8s SqlServer Sqlite DB2 DuckDb Hana 等, 使用教程:https://www.donet5.com/Home/Doc?typeId=1226 - 作者: sunkaixuan - Newtonsoft.Json(v13.0.3) - 描述:Json.NET is a popular high-performance JSON framework for .NET - 作者: James Newton-King # 使用说明: ## 框架目录结构: ``` jjychengTaskWinForm项目 |-- Enums (枚举库) |-- Factory(业务工厂) |-- Common(工厂公共方法) |-- SqlSugarBase.cs(数据库操作基类) |-- Test(示例测试代码) |-- Models(业务模型文件夹) |-- MySqlTest.cs(MySql数据库测试代码) |-- SqlServerTest.cs(SqlServer数据库测试代码) |-- Helper(帮助库) |-- FileUtil.cs(文件操作帮助类) |-- HttpHelper.cs(Http请求帮助类) |-- Models(模型库) ``` ## 增加新任务: ### 第1步:在`Factory`文件夹下创建你的任务文件夹 你也可以像我一样 ``` |-- Factory(业务工厂文件夹) |-- MyTaskName(你的任务文件夹) |-- Models(你的业务模型文件夹) |-- MyTaskRun.cs(你的业务代码) ``` 或者你可以仿照我写的`MySqlTest.cs`,根据目录结构创建结构,然后,复制这个文件的代码进行修改,写入你的业务代码。 注意: 1. 你的任务文件夹名,就是你的任务名称,你可以根据自己的需求命名。 2. 你的业务模型文件夹,就是你的业务模型类所在的文件夹,你可以根据自己的需求命名。 3. 你的业务代码文件,就是你的业务代码所在的文件,你可以根据自己的需求命名。 4. 你的业务代码,就是你的业务代码,你可以根据自己的需求命名。 ### 第2步:在`Form1.cs`里配置任务 打开`Form1.cs`,即右键文件》弹出下拉菜单》选择“查看代码” 在`Form1_Load()`方法下面增加`新任务` ```c# List comboBoxData = new List() { new KeyValueModel(){Key = "SqlServer测试",Value = "SqlServerTest"}, new KeyValueModel(){Key = "MySql测试",Value = "MySqlTest"}, new KeyValueModel(){Key = "测试任务3",Value = "Test3"} }; ``` 在`button1_Click()`方法里,修改下面代码 ```c# // Todo: 执行你的任务 switch (selectedValue) { case "SqlServerTest": TimeNumberRun(); SqlServerTest.Run(this, filePathTextBox.Text); break; case "MySqlTest": TimeNumberRun(); MySqlTest.Run(this, filePathTextBox.Text); break; default: MessageBox.Show("未找到任务", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } ``` ### 第3步:运行 运行程序》选择你的任务》点击“开始执行按钮” ![输入图片说明](img/image-run.png)