C# 当通讯数据比较多,需要分组发送,对DataSetToJson的重载

//数据集转为JSON数组主表专用  iMaxCount-最大通讯条数  iCom-第几次通讯  iLast--最后一次通讯条数,不是最后一次通讯传入0
        public static string DataSetToJson(DataSet ds, string tblname,int iMaxCount,int iCom,int iLast)
        {
            string json = string.Empty;
            try
            {
                if (ds.Tables.Count == 0)
                    throw new Exception("DataSet中Tables为0");
                json = "{";
                for (int i = 0; i < ds.Tables.Count; i++)
                {
                    json += "'" + tblname + "'" + ":[";
                    //for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
                    if (iLast == 0) //不是最后一次通讯的话这样处理
                    {
                        for (int j = iMaxCount * iCom; j <= (iCom + 1) * iMaxCount - 1; j++)
                        {
                            json += "{";
                            for (int k = 0; k < ds.Tables[i].Columns.Count; k++)
                            {
                                json += "'" + ds.Tables[i].Columns[k].ColumnName + "'" + ":'" + ds.Tables[i].Rows[j][k].ToString() + "'";
                                if (k != ds.Tables[i].Columns.Count - 1)
                                    json += ",";
                            }
                            json += "}";
                            if (j != ds.Tables[i].Rows.Count - 1)
                                json += ",";
                        }
                    }
                    else //如果是最后一次通讯 则islast里面存的是剩余的未通讯的条数
                    {
                        for (int j = iMaxCount * iCom; j <= iCom * iMaxCount - 1 + iLast; j++)
                        {
                            json += "{";
                            for (int k = 0; k < ds.Tables[i].Columns.Count; k++)
                            {
                                json += "'" + ds.Tables[i].Columns[k].ColumnName + "'" + ":'" + ds.Tables[i].Rows[j][k].ToString() + "'";
                                if (k != ds.Tables[i].Columns.Count - 1)
                                    json += ",";
                            }
                            json += "}";
                            if (j != ds.Tables[i].Rows.Count - 1)
                                json += ",";
                        }                    
                    }
                    json += "]";
                    if (i != ds.Tables.Count - 1)
                        json += ",";




                }
                json += "}";
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return json;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值