CYQ.Data 数据层框架

CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。

CYQ.Data 数据框架 版本发布 V4.3

平台动态 | | | 发表日期 :2011/2/14 21:55:27#楼主  

前言:

继上一版本: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,将[生成枚举|创建分页存储过程|创建日志表]等操作单独移到辅助工具实现
五:取消ProcedureSql,新增SchemaAction来获取表架构数据

这两个的调整,主要是为了减轻框架的大小,同时内部类重新优化了一下结构,不影响外围使用。

同时,去掉OutPutData类,意味着一些辅助功能,只能借辅助工具实现,包括生成mssql/oracle的分页存储过程。

六:增加对SQLite数据的支持

七:增加对MySql数据库的支持
采用插件式方式加载,如果需要使用,只要把相应的 MySql.Data.dll 或者 System.Data.SQLite.dll CYQ.Data.dll 放在一起即可。

由于SQLite和Access都是单个文章方式,因此数据库链接配置方式类似如下:

<appSettings>
<add key="AccessDbNameForWeb" value="App_Data/myspace.mdb"/>
<add key="SQLiteDbNameForWeb" value="App_Data/sqlitedemo.db"/>
appSettings>
<connectionStrings>

<add name="Conn" connectionString="server=localhost;port=3309;user id=root;password=123456;database=mysqldemo" providerName="MySql.Data.MySqlClient"/>

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版本也同时提供下载。

十一:CYQ.Data框架项目案例

网址:http://www.cyqdata.com/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文档能正常打开。
回复删除临时文件,重新下载试试。
gongancy2011/2/24 20:38:11#6
楼主,很了不起。
回复好好努力~尽下人事,哈哈~
jolboy2011/2/22 17:44:44#5
希望能加入一个功能,可 建表、建字段、建视图,且继续保持兼容性,这个功能很实用:)
回复建表、建字段、建视图,这些有很多专业的工具存在了,未来考虑的会将辅助工具做成VS插件
saleman2011/2/15 19:49:09#4
请问V1.5版本以后就不开源了吗?
回复目前正在策划中,后续应该会和秋色园一起重新走上开源之路。
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]经常讨论。

发表评论

论坛公告

    数据框架 CYQ.Data QQ群:6033006
    使用本框架进行开发,入门简单,开发效率高,性能优越,更有详尽的API文档,有相关的使用帮助文章、示例文章、更甚有相关的视频教程及辅助工具。 关键还是免费与开源,实在是居家旅行、项目开发、学习研究的必备良品!!!!!!


    在线帮助:欢迎联系

帖子搜索