![]() | CYQ.Data 数据层框架CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。 |
CYQ.Data 数据框架 版本发布 V1.2
平台动态 |
|
|
| #楼主 |
在上一篇:CYQ.Data 数据框架 版本发布 V1.1 之时,我通过新增加GetFrom与SetTo方法,来避免直接使用索引的取值和赋值的不便。 本来,今天是打算写个实例教程,来简单介绍用这个超轻量框架进行开发是有多轻松的事情,不过在使用时,还是发现了个别的小bug。 于是,今天狂热的修改了N多代码,抽取Sql组成部分到单独的类中,继续去掉N多重载方法,留下最简洁最实用的方法。 以面看看有哪些改进: 数据库配置假设如下: ![]() ![]() <connectionStrings> <add name="Conn" connectionString="Server=.;database=CQSpace;uid=sa;pwd=123456"/> <add name="CYQ" connectionString="Server=.;database=CQSpace;uid=sa;pwd=123456"/> < SPAN>connectionStrings> 操作类的实例方法: 方法一:默认取配置文件Conn的链接字符串 MAction action = new MAction(TableNames.CQ_BlogSet); 方法二:取自定义名称如CYQ的链接字符串: MAction action = new MAction(TableNames.CQ_BlogSet,"CYQ"); 方法三:直取链接字符串 MAction action = new MAction(TableNames.CQ_BlogSet,"Server=.;database=CQSpace;uid=sa;pwd=123456"); 接下来看看都有什么操作方法更新: 1:单条数据查询方法: 方式一:直接传ID ![]() ![]() MAction action = new MAction(TableNames.CQ_BlogSet); if (action.Fill(888)) { action.SetTo(lblAlbumType); action.Close(); } 方式二:传where条件 ![]() ![]() MAction action = new MAction(TableNames.CQ_BlogSet); if (action.Fill("Title='xxxx'")) { action.SetTo(lblAlbumType); action.Close(); } 2:数据删除: 方式一:先填充再删除 if (action.Fill(888)) { action.Delete(); action.Close(); } 方式二:根据ID删除 MAction action = new MAction(TableNames.CQ_Album); action.Delete(888); action.Close(); 方式三:根据条件删除 MAction action = new MAction(TableNames.CQ_Album); action.Delete("id>888"); action.Close(); 3:数据更新 方式一:先填充再更新 MAction action = new MAction(TableNames.CQ_Album); if (action.Fill(111)) { action.GetFrom(txtAlbumName); action.Update(); action.Close(); } 方式二:根据ID更新 MAction action = new MAction(TableNames.CQ_Album); action.GetFrom(txtAlbumName); action.Update(111); action.Close(); 方式三:根据条件更新 MAction action = new MAction(TableNames.CQ_Album); action.GetFrom(txtAlbumName); action.Update("id=299 or name='路过秋天'"); action.Close(); 4:数据列表查询和多表联合查询没变化,和上上节一致。 5:新增加计数查询: MAction action = new MAction(TableNames.CQ_BlogSet); lblAlbumType.Text = action.GetCount("id>2 and Name='路过秋天'").ToString(); action.Close(); 6:为了进一步隐藏索引取值与赋值而产生的Get与Set方法: 在上节的升级中,新增加的GetFrom与SetTo只能对控件赋值进行操作,如果我们只是需要取值,或设置值,中间没有控件呢? 在上节之前,我们只能又回到索引的方式取值了如: string albumType=action.Data[CQ_Album.AlbumName].Value.ToString(); 狂热升级之后:用上新加的Get方法取值,效果就变成了: string albumType = action.Get<string>(CQ_Album.AlbumName); 而Set方法赋值则为: action.Set(CQ_Album.AlbumName, "路过秋天";); 于是,对于取值与赋值,我们目前有3种方法可用了: 1:对控件型的:GetFrom与SetTo 2:对变量型的:Get与Set 3:保留的:索引数据/枚举与字段名(字符串)取值 OK,本节介绍点到为止,下节再开示例应用篇。欢迎使用与留言! 最后提供新版本V1.2下载:点击下载[大小:60K 没加密没混淆没限制,可放心使用,可直接用Reflector.exe查看源码] ![]() |
发表评论
论坛公告
帖子搜索
最新帖子
最新评论
- 请教博主。我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年就过了!!!!