首先,我使用主次表来定义表的关系。
次表动态指定数据源
dataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation")%>'>
使用查询语句的是最简单
StringBuilder sb = new StringBuilder("select * from test select * from test2");
使用数据适配器和dataset填充数据集
这样会有2个table
我分别设定2个tablename为"test1","test2"! 父表为test1,子表为test2建立关系
DataRelation tableRelation = new DataRelation("tableRelation",Parent,Child,false);
为dataset的关系集合添加关系对象
datasetds.Relation.add(tableRelation);
而datagrid的时候绑定数据源是 table1.defaultview.
运行正常!
现在我想询问,如何分页?
我先说说我的想法,希望各位高手指点一下,谢谢。
我曾经想过使用sql分页。。
也就是select top来分页。。但是本人的sql语句不擅长,而且也想知道还有其它的分页方法否?
我以前的分页是在填充dataset的时候分别填充不同的table来获取相应需要的数据源。但是这次有2个互相关联的表。
如果使用全部把表都读入dataset然后每次分页再全部读一次表,这样会造成系统资源内存不够。
因为数据可能有10-100万条而且同时操作的人。。最高可能会有将近100人。。
这个方法肯定会造成服务器瘫痪的!
但是我就不知道还有什么方法能尽量占用少系统资源的状况下分页呢??
希望各位高手指教!
谢谢
如果分数不够,还可再加!
次表动态指定数据源
dataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation")%>'>
使用查询语句的是最简单
StringBuilder sb = new StringBuilder("select * from test select * from test2");
使用数据适配器和dataset填充数据集
这样会有2个table
我分别设定2个tablename为"test1","test2"! 父表为test1,子表为test2建立关系
DataRelation tableRelation = new DataRelation("tableRelation",Parent,Child,false);
为dataset的关系集合添加关系对象
datasetds.Relation.add(tableRelation);
而datagrid的时候绑定数据源是 table1.defaultview.
运行正常!
现在我想询问,如何分页?
我先说说我的想法,希望各位高手指点一下,谢谢。
我曾经想过使用sql分页。。
也就是select top来分页。。但是本人的sql语句不擅长,而且也想知道还有其它的分页方法否?
我以前的分页是在填充dataset的时候分别填充不同的table来获取相应需要的数据源。但是这次有2个互相关联的表。
如果使用全部把表都读入dataset然后每次分页再全部读一次表,这样会造成系统资源内存不够。
因为数据可能有10-100万条而且同时操作的人。。最高可能会有将近100人。。
这个方法肯定会造成服务器瘫痪的!
但是我就不知道还有什么方法能尽量占用少系统资源的状况下分页呢??
希望各位高手指教!
谢谢
如果分数不够,还可再加!
解决方案 »
- GridView控件的datakeysname的问题
- ASP.NET(C#)后台可以读取传来的数据,但前台SQL无法使用
- "无法验证发行者,你确定要安装此软件吗?" 求助
- 图片显示不了
- 有三张表 如何同时删除对应数据,希望知道学习方法,用视图可以做吗?
- 求助各位大侠,那位用过支付宝,我这出现点问题 希望大家帮助解决 急!
- input加上runserver后跟textbox有什么区别,哪个好些呀
- frame 之间获取girdview的当前页数
- dataset操作时遇到的问题
- 我用asp.net 写的登录框,怎么填入用户名,然后按tab键,怎么密码会自动填写进去,请问怎样才能防止浏览器自动填写密码?
- 继续询问网页之间传递数据的问题(请stoneallen再给看看)
- 可能比较复杂的问题,欢迎大家进来讨论下(写论坛的时候,分页是怎么处理的,datalist分页)
pds.PageSize=?
pds.CurrentPageIndex=?
然后设置DataList的DataSource=pds;
这样不行!
而且这样就是跟我说的把2个表都放入了dataset,而且每次点击下一页都要再全部读一次表
这样根本服务器内存无法支撑,要知道这2个表的数据非常大,1个表至少可能就有10万条。
2个表那很难支撑下去
请问没有其他方法了吗?
请高手多多指教
谢谢!
不胜感激!
就不能使用DataGrid自带的方法解决吗?
郁闷
不过先谢谢
renyu732(Good Good Study,Day Day Up.)
陕北吴旗娃是我佩服的一个牛人!!
嗬嗬,向他学习。不过我还是想询问靠datagrid的关系绑定没有理由不行!
只是没有人带入门,难道没有高手指点一下吗?
谢谢!
但是可以读出数据记录数除以页数,取得大概ID,但不是很准确(可能删除了一些数据)