![]() | CYQ.Data 数据层框架CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。 |
CYQ.Data 数据框架 版本发布 V4.3
平台动态 |
|
|
| #楼主 |
前言: 继上一版本:CYQ.Data 轻量数据层之路 V4.0 版本发布 ,又过去一个来月了,不过也过了一个新年了。 由于过年原因,因此框架也没多折腾什么,只是年前年后顺路把SQLite,MySQL两种数据库给支持上了。 提示:基于网友的提醒,本次版本发布带CYQ.Data.xml,增加了方法的中文提示。 下面看一下新版本的修改记录 ![]() ![]() 1:MAction的构造函数允许从MDataRow加载 2:MutilLanguage在设置Cookie时也同时设置语言标识 3:MutilLanguage默认语言取自浏览器语言 4:取消CYQ.Data.SQL.OutPutData类及两个相关枚举TableType|DataBaseType,将[生成枚举|创建分页存储过程|创建日志表]等操作单独移到辅助工具实现 5:取消ProcedureSql,新增SchemaAction来获取表架构数据 6:增加对SQLite数据的支持 9:MAction增加从Json反加载数据填充 7:增加对MySql数据库的支持 8:提升数据表架构的缓存级别:MDataColumn->MDataRow 下面进行详细的解说 一:MAction的构造函数允许从MDataRow加载
增加这个原因,是基于 秋色园 应用中,考虑到数据重用的问题,简单解说一下: 1: 秋色园 缓存了用户的信息,就是一行数据了,OK,那么实际上对所有用户的操作都来自同一张表,于是,可以直接从缓存的Row中取数据表结构进行反填充即可以了。 由于数据表结构本身就有缓存,所以上面的填充效果,简单的看是不太明显的。 2:当用户编辑自己资料时,当独的数据行无法进行操作,因此时候填充,可以迅速转成可操作的MAction,节省一定的开销。 二:MutilLanguage在设置Cookie时也同时设置语言标识 三:MutilLanguage默认语言取自浏览器语言
在 秋色园 中,多语言应用的是比较广的,因此考虑的因素也是相对较多,包括对用户的浏览器语言判别来显示不同的语言文章,和通过显示的后缀和非后缀等情况做处理,所以小小的需要改动一下。 顺便说一下:CYQ.Data.Xml名称空间下的内容,千万不要放过。 四:取消CYQ.Data.SQL.OutPutData类及两个相关枚举TableType|DataBaseType,将[生成枚举|创建分页存储过程|创建日志表]等操作单独移到辅助工具实现
这两个的调整,主要是为了减轻框架的大小,同时内部类重新优化了一下结构,不影响外围使用。 同时,去掉OutPutData类,意味着一些辅助功能,只能借辅助工具实现,包括生成mssql/oracle的分页存储过程。 六:增加对SQLite数据的支持 七:增加对MySql数据库的支持 由于SQLite和Access都是单个文章方式,因此数据库链接配置方式类似如下: ![]() ![]() <appSettings> <add key="AccessDbNameForWeb" value="App_Data/myspace.mdb"/> <add key="SQLiteDbNameForWeb" value="App_Data/sqlitedemo.db"/> < SPAN>appSettings> <connectionStrings> <add name="Conn" connectionString="server=localhost;port=3309;user id=root;password=123456;database=mysqldemo" providerName="MySql.Data.MySqlClient"/> < SPAN>connectionStrings> 八:提升数据表架构的缓存级别:MDataColumn->MDataRow
表架构缓存提升了一个级别,理论上性能是提升的,本属内部优化之事。 九:MAction增加从Json反加载数据填充
增加的这个功能是为Ajax应用准备的,应用示例代码: ![]() ![]() using (MAction action = new MAction("Blog_User")) { action.GetFromJson("{id:2,name:\"秋色园\",url:\"www.cyqdata.com\"}"); action.Update(); } 结果就是把id为2的行数据的name和url字段更改为相应的数据。 十:V4.3 框架下载
下载地址:下载中心-秋色园 PS:由于新增加数据库,相应的辅助工具V4.3版本也同时提供下载。
网址:http://www.cyqdata.cn/cyqdata/article-cate-81 欢迎大伙继续提供CYQ.Data框架项目案例。 后言: ![]() ![]() 到本版本为止,支持的数据库类型为:Access/MSSQL[2000/2005/2008]/Oracle/SQLite/MySQL 其中Access/MSSQL两个系列在大量的项目应用中应用过后,已相当的稳定。 对于Oracle,在测试中通过,已有多位兄台在实际应用项目中应用,静待发布项目案例的那天。 对于SQLite和MySQL,在测试中通过,欢迎大伙在实际应用中若遇到问题欢迎反馈。 ![]() |
游客[注册][219.135.6.*]2011/4/19 10:05:38 | #12 | |
![]() | 博主,你的框架是开源的么?好像博客有点乱,我找不到源码。。。 回复: 公告里有下载中心的链接。 |
erqie2011/3/28 19:20:34 | #11 | |
![]() | 辅助工具连sqlite错误,明明选择的是sqlite数据库,结果错误的提示里竟然是在用sqlclient在连接,楼主忘判断了? ************** 异常文本 ************** System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。 在 System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) 在 System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) 回复: 由于是辅助工具无法获取Provider信息,只是通过链接字符串的关键字判断,关键字为:“host=”,sqlite还分64/32位,很多64位下使用的人都报异常,这个会尽快推出兼容版本。 |
dtsoft12342011/3/4 7:52:01 | #10 | |
![]() | 为啥我用辅助工具老是不成功吗,显示64下window7必须换用特定的dll,后来老是报web.config找不到数据库连接字符串 回复: 64位下没测试过呢,在64位下,如果你不是使用sqlite/mysql两种数据库的话,可以使用V4.0及以下版本,用OutPutData类操作生成存储过程/枚举等。 |
游客[注册][122.224.78.*]2011/3/2 18:21:44 | #9 | |
![]() | 不错啊 支持下 楼主是一个人开发的吧 回复: 目前是一个人呢,最近在努力想折腾个团队,来的人很多,只是没一个有激情的,都在等着我把一切做完...然后再... |
游客[注册][113.111.207.*]2011/2/28 20:21:35 | #8 | |
![]() | 老大,你的是美国服务器? 时间**** 回复: 是在美国的,暂时寄放在别人的子目录中,等有团队了再折腾个自己的服务器。 |
游客[注册][113.111.207.*]2011/2/28 20:20:54 | #7 | |
![]() | CYQ.Data API文档[V4.3].chm 打不开,无法显示! 如何解决。 系统其它的CHM文档能正常打开。 回复: 删除临时文件,重新下载试试。 |
jolboy2011/2/22 17:44:44 | #5 | |
![]() | 希望能加入一个功能,可 建表、建字段、建视图,且继续保持兼容性,这个功能很实用:) 回复: 建表、建字段、建视图,这些有很多专业的工具存在了,未来考虑的会将辅助工具做成VS插件 |
Joey[119.255.12.*]2011/2/14 22:28:40 | #3 | |
![]() | 楼主,你做个开源的东西居然这么用心,令人佩服;还是以后会变成收费的? |
Joey[119.255.12.*]2011/2/14 22:28:23 | #2 | |
![]() | 楼主,你做个开源的东西居然怎么用心,令人佩服;还是以后会变成收费的? |
Joey[119.255.12.*]2011/2/14 22:28:02 | #1 | |
![]() | 楼主,你做个开源的东西居然怎么用心,令人佩服;还是以后会变成收费的? 回复: 谢谢支持,要看以后的发展方向了...。欢迎进QQ群[6033006]经常讨论。 |
发表评论
论坛公告
帖子搜索
最新帖子
最新评论
- 请教博主。我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年就过了!!!!