![]() | CYQ.Data 数据层框架CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。 |
MDataTable属性RecordsAffected新应用:WebService与Json交互的记录总数
框架技术交流区 |
|
|
| #楼主 |
最近CYQ.Data v5版本中添加了一个新功能,先说下需求的来源: 1:有一台服务器,以WebService方式提供数据。 2:有客户端,调用远程服务器WebService的数据,然后显示表格并带有分页功能。 基于以前版本,最佳应用方式为: 1:WebService 端: 通过MAction,查询出表(MDataTable),再调用ToJson返回json输出。 2:客户端: 通过调用调用远程的方法,接收返回的json字符串,然后用MDataTable.LoadFromJson方法,加载还原为表格,然后绑定到列表控件即可。 使用起来是相当方便简洁的,但是却缺少了一个重要的信息,通常分页的时候,需要知道多一个记录总数。 对于旧版本,返回的参数,需要自己再附加多一个记录总数返回。 为了使使用更简单,本人进行了以下的改进: 1:把调用Select分页查询后,把记录总数赋值给MDataTalle属性RecordsAffected。 2:对于ToJson方法输出,把记录总数也一并集在json中。 3:MDataTable.LoadFromJson时,可以还原记录总数到RecordsAffected属性。 有了以上改进,只需要简单的以下代码就可以解决了: 以下为伪代码示例: 1:服务端代码,根据分页参数输出表的Json: [WebService] public string GetTableJson(int pageIndex,int pageSize,string tableName) { MDataTable dt; using (MAction action = new MAction(tableName)) { dt = action.Select(pageIndex, pageSize, "id>10"); } return dt.ToJson(); } 2:客户端,调用WebService: public void GetTableJson() { string json = WebServer.GetTableJson(1,10,"Users");//调用远程WebService,获取表数据 MDataTable dt = MDataTable.LoadFromJson(json);//从json还原为表格 dt.Bind(GridView1);//直接绑定到列表控件 Page1.RecordCount = dt.RecordsAffected;//设置分页控件的记录总数 } 以上就是CYQ.Data V5版本MDataTable的RecordsAffected属性的应用场景之一。 刚折腾了框架的示例源码: ![]() ![]() |
发表评论
论坛公告
帖子搜索
最新帖子
最新评论
- 请教博主。我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年就过了!!!!