CYQ.Data 数据层框架

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

MDataTable属性RecordsAffected新应用:WebService与Json交互的记录总数

框架技术交流区 | | | 发表日期 :2013/4/24 3:06:19#楼主  
最近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属性的应用场景之一。

刚折腾了框架的示例源码: Web.rar



新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

发表评论

论坛公告

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


    在线帮助:欢迎联系

帖子搜索