阅读全文准备做一份自己用的实用类DLL(做好后开源,直接帖子里面贴源码估计不太Make Sense)
实用类的列表如下:(排名不分先后)
01.程序配置管理辅助类 AppConfig
02.DataTable操作辅助类 DataTableHelper
03.Excel操作辅助类(无需VBA引用) ExcelHelper
04.常用文件操作辅助类 FileUtil
05.常用的目录操作辅助类 DirectoryUtil
06.打开、保存文件对话框操作辅助类 FileDialogHelper
07.辅助类RegisterHotKeyHelper
08.获取系统信息、电脑CPU、磁盘、网卡、内存等相关信息辅助类 HardwareInfoHelper
09.键盘操作辅助类KeyboardHelper,提供属性访问敲击那个键,以及发送软键盘消息等操作。
10.鼠标辅助操作类,提供获取鼠标状态以及模拟鼠标点击等操作 MouseHelper
11.DES对称加解密、AES RijndaelManaged加解密、Base64加密解密、MD5加密等操作辅助类 EncodeHelper
12.序列化、反序列化、节点等操作类辅助类 XmlHelper
13.枚举操作辅助类 EnumHelper
14.各种输入格式验证辅助类 ValidateUtil
15.各种常用数组排序操作辅助类 SortHelper
16.定时器辅助类TimerHelper
17.线程操作辅助类ThreadHelper
18.消息操作辅助类MessageHelper
大家看看这个列表怎么样? 暂时我可能只会需要用到这些个,希望我能尽快弄完,哈哈。
紫色为已经弄好的。
家里正在装修中,实在比较忙啊。
传送门 MyGenerator 3.9.4.0 发布了,应该比较稳定了 点击传送
阅读全文小软开发手记 (请移步 http://www.cnblogs.com/flashbar/archive/2012/01/04/MyGenerator.html 获取最新版本)
先讲讲开发目的:为了不再很机械的复制粘贴复制再粘贴,往返于VS和SQL中间,于是上网找有没有自动生成实体类的东西。找了一圈,发现有是有,不过都不是自己需要的,有的功能太强,有的界面不够简洁,其实我要求的功能挺少挺简单的,但是就是找不到,很郁闷~ 于是决定自己花点时间写一个。
刚开始的目的仅限于此,后面慢慢说开发过程,遇到的问题和解决方案,希望这个软件可以给大家带来方便,开发过程中的一些经验也对大家有帮助。
第一天
我做的事情:
1. 软件的架构工作,汇报如下:
软件需求:(1)根据用户输入的DB Server的信息(IP,User,Password)自动获取Server上的DB列表(有改进)
(2)根据用户选择的DB,读出所有的Table和对应Table上的所有字段,做成List (有改进)
(3)根据用户单击的的Table自动生成该Table的实体类(有改进)
开发环境和语言: VS2010, C#, WPF
2. MainWindow的Layout设计和Coding
这部分为需求(1),刚开始想的简单,拖几个TextBox然后让用户输入一些信息,然后再把得到的数据库绑定到一个Combobox就算OK。于是开始做界面。
这部分的主要代码如下:
读取所有数据库
如上,第一个分支判断是否为使用系统验证的,两种登入SQL Server的方式,连接字符串是不同的。
做完了后的界面如下:

怎么样? 还比较清爽吧? 选中第一个复选框会自动带出DB Server 和 Login ID, Password也不用填了。
第二天
我做的事情:
1. 主窗口,用作自动生成代码的界面设计
2. 需求(2)的功能实现和软件性能优化,如何能快速的读出远程
这部分是主要部分,良好的用户体验是必不可少的,开始的想法太简单,并且不易用,因为肯定有很多人想一次生成很多Table的实体,或者只想为部分字段做属性。
于是我决定使用TreeView空间,Table作为主节点,字段作为子节点。然后在每个节点处加入CheckBox用来限制选定与否。这些都是在程序中控制的。
3. 初始化一个Tab用来放置文本模板,这样用户就可以自定义文本生成模板了,使用范围就更广了(今天刚发现,这个用来把读取的DataSet中的Column数据都赋值到对应的实体中也是很方便的)
主要代码如下:
初始化TreeView
然后就是根据用户的选择自动生成代码了,这里我用了TabControl空间,然后动态添加TabItem。代码如下:
添加Tab
做完了后的界面如下:

注意,这里我是使用一个xml文件来做类型映射的,第二天完工...
第三天
我做的事情:
1. 加入了一些常用功能,比如后退,退出,重置,当前Tab的文本Copy等等
2. 页面控件的重新布局
3. 加入了错误信息的提示
4. 重头戏,程序代码的优化,使用了少少的全局变量,从而大量减少了远程连接时的超时现象
得到SQL中和.Net中的对应数据类型
5. 使用Config文件,便于用户的配置
好了,完工了,就说到这,希望对大家有用。
基本功能:
1. 根据需要自动生成实体类
2. 自动生成存储过程,包含每个表(Table)的基本SQL查询语句
3. 自动生成WEB层前后端相关代码
4. 自动生成BLL层的几个基本业务操作的代码
5. 数据库操作支持T-SQL事务,设置简单
6. 支持模板自定义,生成你想要的代码片段
7. 单文件绿软,便于携带
运行环境:
1. Win XP/2003/2008/Vista/Win7
2. .Net Framework 3.0/3.5/4.0
更新历史:
最后更新日期: 2011/12/20
V3.2.0.0
修改:BLL层代码根据Table自动生成,更加符合面向对象的原则
修改:WEB前端方法调用更加简单
修改:修复已知的几个代码生成错误的问题
修改:Web后台代码调整,更加通用
V3.1.0.0
增加:代码生成时对非主键自增字段的处理逻辑
增加:增加对中文字段和中文数据库名的支持
修改:存储过程中用中括号括起字段名,避免冲突
修改:存储过程中增加唯一性确定过程,后端代码在插入和更新的过程中加入唯一性判断的事务
修改:说明性文字部分修改和修正
V3.0.0.0
增加:界面布局调整,更加符合用户体验
增加:界面切换效果
修改:取消BLL和DAL层得代码自动生成,改为通用类,无需根据数据表生成
修改:大幅修改代码生成,支持使用多数据库操作的T-SQL事务,整个数据库访问流程更加灵活,支持数据库操作的智能提示
修改:修复已知的几个代码生成错误的问题
V2.1.0.0
增加:全面支持SQL Server 2008 R2
修改:修复两个已知会造成程序退出的Bug
V2.0.0.0
增加:BLL,DAL,WEB层的自动代码生成
增加:“关于”和“帮助”页面
修改:软件正式更名为 我的代码生成器(My Generator)
修改:布局调整
V1.8.0.0
优化:一些用户体验的调整,切换功能自动生成对应代码,字段列表选择更加符合用户体验
修改:修复一个生成的代码中,如果有DateTime类型,那么默认空值存入数据库可能会溢出的错误
修改:增加某些字段类型的精度显示
修改:登录窗口的服务器和数据库名支持手动输入
修改:布局调整,增加反选按钮
V1.7.0.0
增加:DB Server的别名功能,可以为同一个DB Server 设置不同的登录账户;
优化:改进默认本地网站,兼容SQL2005/SQL2008;
修改:布局调整,可以最小化窗口;
V1.6.0.0
增加:增加多个可自动生成项;
修改:所有可设置部分整合到一个Config.xml中;
修改:布局调整;
V1.5.0.0
增加:支持自己导入数据库列表;
优化:优化了代码,现在远程连接速度大幅度提高;
修改:更新了SQL代码生成规则;
修改:完善了C#实体类和存储过程的生成方案;
修改:布局调整;
V1.4.0.0
增加:可以自动生成每个Table的基本SQL查询语句。
V1.3.0.0
优化:代码优化,调整界面和模板内容;
修改:软件语言中文化;
V1.2.0.0
增加:增加了两个模板;
优化:代码优化,修复一些Bug;
V1.1.0.0
优化:代码优化,加快远程连接的速度;
修改:修复一些Bug,调整界面;
V1.0.0.0
增加:提供最基本的实体类生成;
最新版本获取地址:
http://www.cnblogs.com/flashbar/archive/2012/01/04/MyGenerator.html
http://www.flashbar.com.cn
有任何问题都可以联系我
QQ:12811951
Email:duluohua#hotmail.com
最后更新日期 2011/2/9 19:45
天气预报Web服务,数据来源于中国气象局 公用事业
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
中国股票行情分时走势预览缩略图
http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx
中国股票行情数据 WEB 服务(支持深圳和上海股市的基金、债券和股票)
http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx
国内飞机航班时刻表 WEB 服务 公用事业
http://www.webxml.com.cn/webservices/DomesticAirline.asmx
中国电视节目预告(电视节目表) WEB 服务 公用事业
http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx
火车时刻表 (第六次提速最新列车时刻表) 公用事业
http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx
中文 <-> 英文双向翻译 WEB 服务 获得标准数据
http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx
验证码图片 WEB 服务 支持中文、字母、数字 图像和多媒体
http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx
中国邮政编码 <-> 地址信息双向查询/搜索 WEB 服务 获得标准数据
http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx
IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据) 获得标准数据
http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx
国内手机号码归属地查询
http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx
外汇-人民币即时报价
http://webservice.webxml.com.cn/WebServices/ForexRmbRateWebService.asmx
腾讯QQ在线状态 WEB 服务
http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx
中文简体字<->繁体字转换 WEB 服务
http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx
IP地址搜索 WEB 服务包含中国和国外已知的IP地址数据,是目前最完整的IP地址数据,记录数量现已超过37万条并还在不断更新和增加中
http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx