![]() | CYQ.Data 数据层框架CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。 |
CYQ.Data 数据框架 版本发布 V2.0
平台动态 |
|
|
| #楼主 |
前言: 从V1.5发布到现在时隔20天了,终于发布2.0版本了,2.0系列版本由于引入多数据库支持,内部结构改动较大。 但是外面调用方式仍保持一致向下兼容,因此若从原来V1.N版本升级到2.N版本,只需要轻轻更换CYQ.Data.DLL即可,界面代码不需要改变。 疑问? 最近26号才刚发布了V1.5.5,怎么才3天又发布了2.0版本?就这么点时间改动就很大,那不是很不稳定? 解疑: V1.5.5版本是拿V1.5版本的源码直接修改的,只是在原来的基本上修正一些sql2000下的应用bug。 实际发布V1.5.5的时候,V2.0已经发布很久了,只是一直做为抢先体验版本存在。 版本升级内容: 1:增加支持Access/Oracle数据库,因此目前支持数据为:sql 2000/sql 2005/access/oracle。
2:内置Aop,可以分离权限/操作日志/异常/或者其它sql执行统计等模块进行独立开发。 3:MDataTable 增加2个附属方法:Bind(控件名称)及ToJson(); 4:MAction 刚新增加调试信息输出属性:DebugInfo 一:目前配置文件配置选项 1:默认数据库链接[必选]: ![]() ![]() <add name="Conn" connectionString="数据库链接字符串" providerName="最好写上,不写则从链接字符串里取关键字做分支"/> providerName选项: sql 2000/sql 2005:System.Data.SqlClient access:System.Data.OleDb oracle:System.Data.OracleClient 2:开启异常日志表配置[可选]: ![]() ![]() appSettings节点:<add key="IsWriteLog" value="true"/> 说明:如果不配置此节点,V1.5版本及以上会默认抛出异常。配置为true后,有异常不抛出。 connectionStrings节点:<add name="LogConn" connectionString="Conn"/> 说明:如果日志表和Conn默认是同个数据库,可采取共享链接的写法。 3:开启Aop功能配置[可选]: appSettings节点:<add key="Aop" value="CYQ.Data.Test,CYQ.Data.Test.MyAop"/> 说明:CYQ.Data.Test为程序集名称;CYQ.Data.Test.MyAop为带完整名称空间的类名 4:配置Oracle自增序列名称[可选]: appSettings节点:<add key="AutoID" value="MyAutoID"/> 说明:默认序列名称为:AutoID 二:using语法使用说明 有些网友对using语法情有独钟,这里我说明一下相关的使用: 1:using语法简单说明: using(MAction action=new MAction("表")){业务处理} 等同于=> try{ 业务处理} finally{if(action!=null){action.Disponse();}} 2:using语法注意点: 首先我们要知道,对于using语法,是在业务处理完的最后,才执行Disponse()方法。 因此,如果你的业务处理时间很长,而这些很长的处理逻辑可能跟数据库已没有关系,比如查出数据,然后要根据查出的数据做出很多业务逻辑处理。 那么这种情况下使用using,大括号在哪里结束,就得讲究一下,虽然不影响大局,毕竟滥用也不好。 3:MDataTable 新方法Bind语法演示using: using (MAction action = new MAction(TableNames.Users)) { action.Select().Bind(rptList); } 几点说明: 1:Select方法查询查询不到数据时,不再返回null,而是返回new MDataTable()的实例。 2:由于保证了Select不会返回null,因此可以使用其Bind方法来直接绑定rptList控件 3:Bind方法支持的控件类型有:GridView/Repeater/DataList/DataGrid/DataGridView 三:枚举生成器V2.0版本发布 这里上一张截图,增加支持Access/Oracle生成枚举。 截图如下: 四:框架及最近辅助工具下载地址 结言: 使用本框架进行开发,入门简单,开发效率高,性能优越,更有详尽的API文档,有相关的使用帮助文章、示例文章、更甚有相关的视频教程及辅助工具。 关键还是免费与开源,实在是居家旅行、项目开发、学习研究的必备良品!!!!!! 附言: ![]() ![]() 别犹豫了,从你看到此框架的瞬间,加入使用的大军吧,从开始到学会,口述教的话也就仅5分钟,看视频教程,也就10分钟,看文章,顶多就半个多小时。 速学速用: 如果你是学生:用它来开发作品,不仅能提升个人经验值,对将来找工作也是大有帮助。 如果你是企业:用它来开发公司项目,即提高员工开发效率,更能统一开发风格,就算员工流动,新人进来,口述几分钟,也能迅速接手了解整体架构。 如果你是初级开发者:老板整天压着工期,逼着你快速开发交付产品,自己手头写框架又能力用限,网上的其它框架又大又多又难学又难用,咋整?用上此框架,烦脑不再用。 如果你是中级开发者:正在提升阶段,试图自己研发框架,下载源码研究吧,多一份思想也不是什么坏事,还可以进群进行相关讨论,互相提升。 如果你...... 最后:祝大家用的放心,用的省心,用的开心,你的鼓励是我最大的动力。 ![]() |
发表评论
论坛公告
帖子搜索
最新帖子
最新评论
- 请教博主。我mysql的提示 V5.7.7.4 MySql.xxxx:check the tablename "tbl_site_info" is exist? error:ExeDataReader():Expression #1 of ORDER BY clause is not in SELECT list, references column 'information_schema.s1.ORDINAL_POSITION' which is not in SELECT list; this is incompatible with DISTINCT 配置如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Conn" connectionString="host=192.168.3.101;Port=3306;Database=xxxxx;uid=root;pwd=2017" providerName="MySql.Data.MySqlClient"/> </connectionStrings> </configuration>
- 查询语句有点问题,软件启动时查询语句可以从数据库查询出数据,软件一直运行时无论怎么修改数据库,查询出来的还是老数据,不知道是为什么
- 我语句中用到了union all而且两个查询都有查询条件,action.select总是不成功,不知道有没有什么好的解决办法,谢谢
- 大神,如果我想通过一个对象(从数据映射过来的)要插入的话,我需要遍历字段然后每个set一下吗?有没有更好的方法??
- 真心好用,想问下秋天直接拼写sql怕注入吗
- V4.5后,好多方法都改变了,求来个新的日志帮助
- 請問大神V5源碼要多少錢 我是和交流過的
- 楼主,,从数据库里查出来并绑定datagridview,但是显示的都是数据库里的英文名,怎么改??好纠结啊这个。。。。
- 我想问一下,主从表添加怎样处理
- 10年就过了!!!!