| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1347 人关注过本帖
标题:有关SqlDataReader的问题
只看楼主 加入收藏
llj_zjfc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-7-8
收藏
 问题点数:0 回复次数:9 
有关SqlDataReader的问题

用DataSet 读取数据库中的数据充到GridView中 ,但是要占用很多的内存 , 用SqlDataReader能实现吗? 怎么实现,知道的同志尽快回复下啊 急~~~~

搜索更多相关主题的帖子: 数据库 内存 
2006-07-21 11:20
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
收藏
得分:0 
sqldatareader是带返回值的阿~

好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-07-21 11:59
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
收藏
得分:0 
如果是填充到DataView不可以用SqlDataReader实现,
如果DataView显示的不是数据库的全部数据,可以用分页或者where子句提炼出部分数据.
也可以使用DataReader在内存中构建一个DataSet再把DataView绑定到此DataSet.

2006-07-21 12:29
梦幻情缘
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:769
专家分:20
注 册:2005-4-4
收藏
得分:0 
用SqlDataCommand进行实现.
2006-07-21 12:29
marer
Rank: 2
等 级:新手上路
威 望:3
帖 子:928
专家分:0
注 册:2005-7-18
收藏
得分:0 
用SqlDataReader只能填充单值控件如TextBox等

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2006-07-21 12:58
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
以下是引用月夜枫华在2006-7-21 12:29:23的发言:
如果是填充到DataView不可以用SqlDataReader实现,
如果DataView显示的不是数据库的全部数据,可以用分页或者where子句提炼出部分数据.
也可以使用DataReader在内存中构建一个DataSet再把DataView绑定到此DataSet.

你的需求,這個是最好的辦法
在大型項目中 你絕對看不到dataset, dataset在分塵系統中也是雞肋


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-21 13:04
llj_zjfc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-7-8
收藏
得分:0 

我已经用SqlDataReader实现了,用Data的load方法,
SqlDataReader reader;
Datatable table1;
table1.load(reader);


但不用DataSet 是因为它占用内存,那上面的方法也用到了Datatable 一样是占内存的 有什么不一样吗?
老师的解释是说 用SqlDataReader读取数据要快,但 用 适配器添充DataSet 一样是通过SqlDataReader来实现的;

又怎么解释呢!!


斑竹 指导下!

2006-07-21 20:37
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
收藏
得分:0 

程序的执行效率与占用系统资源一直都是既有竞争又是互补的.只能是具体情况具体分析!
对于楼主的需求,是需要使用DataView显示数据.最节省资源的方式就是显示多少列和多少行数据,就使用sql语句查找出对应的数据,然后在DV上显示出来.但如果频繁换页,则会对数据库造成教大压力.这种情况可以考虑每次读出多页,对于下一步要显示的信息进行预测,比如每次读出两页或更多.再有要在数据库方面要设计到位,否则你这边优化1000行代码,不如数据库的表上建立一个索引或执行一个存储过程.


2006-07-22 08:45
marer
Rank: 2
等 级:新手上路
威 望:3
帖 子:928
专家分:0
注 册:2005-7-18
收藏
得分:0 
我试了试,好像DataReader只能在B/S下绑定到DataGrid,而C/S模式下不可使用。如下代码:
private SqlDataReader reader;
private void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
DataBinds();
}
}
private void DataBinds()
{
reader=CreateDataSource();
this.DataGrid1.DataSource=reader;
this.DataGird1.DataBind();
reader.Close();
}
private SqlDataReader CreateDataSource()
{
SqlConnection con=new SqlConnection("database=Northwind;server=localhost;uid=sa;pwd=sa");
SqlCommand cmd=new SqlCommand("select * from Products",con);
con.Open();
SqlDataReader readers=cmd.ExecuteReader(CommandBehavior.CloseConnection);
return readers;
}

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2006-07-23 13:43
yang7656
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-7-23
收藏
得分:0 
呵呵,不太清楚啊
2006-07-23 15:56
快速回复:有关SqlDataReader的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037178 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved