关于选择性复制dataset表数据的问题

zfy740420 2019-04-25 02:42:01
比如,DATASET(DS1)里面有表T1,有2100条数据,问题一、如何给它分页,每页200条

问题二、分页后,我怎样把第三页或者指定页复制到另一个DATASET(DS2)里面
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
轻鸿万里 2019-06-10
  • 打赏
  • 举报
回复
linq 或者最笨的方法,直接复制一个结构相同的新表再复制内容再填充进去。
eaqpi 2019-04-26
  • 打赏
  • 举报
回复
增加一个计数字段,里面就是序号1234567.....

然后用dataTable的过滤就OK了吧。也不用写到第二个表里面。

dataTable.rowFilter = 序号 >1 and 序号 <201
正怒月神 2019-04-26
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
DataTable dt = GetDT();
//每页条数
int pageSize=3;
//总页数
int pageCount=(dt.Rows.Count%pageSize)==0?dt.Rows.Count/pageSize:dt.Rows.Count/pageSize+1;
//i相当于当前页
for (int i = 0; i < pageCount; i++)
{
//抓取每页数据
DataTable q= dt.AsEnumerable().Skip((i) * pageSize).Take(pageSize).CopyToDataTable();
//打印模拟数据
foreach (DataRow item in q.Rows)
{
Console.WriteLine("a:{0},b:{1},c:{2}", item["a"],item["b"],item["c"]);
}
Console.WriteLine("----------------模拟分页-----------------");
}



Console.ReadLine();
}

public static DataTable GetDT()
{
DataTable dt = new DataTable();
dt.Columns.Add("a");
dt.Columns.Add("b");
dt.Columns.Add("c");
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["a"] = i;
dr["b"] = i + "b";
dr["c"] = i + "c";
dt.Rows.Add(dr);

}
return dt;
}
zfy740420 2019-04-25
  • 打赏
  • 举报
回复
刚开始我先把数据保存到access数据库里面,然后用select读取数据,再用FILL分页到dataset里面,我现在想把保存到硬盘然后读取这部分去掉,但是读取dataset数据不能用SELECT遍历,在fill,所以想请教高手这步应该怎么分页
大鱼> 2019-04-25
  • 打赏
  • 举报
回复
https://www.cnblogs.com/isGood/archive/2011/09/07/2169352.html 可以参考一下这个,其实分页思想与SQL 的类似,你只需要知道你每页多少条数据,一共多少条数据 然后计算出你当前页的第一条数据与最后一条数据
  • 打赏
  • 举报
回复
如果要求不高的话,用最原始的循环读取与赋值的办法是可以实现的,200条数据也不算多,速度应该也是很快的.

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧