日期:2014-05-19  浏览次数:20403 次

数据层大家都用什么方法读取数据?

SqlDataReader   myReader;
......
while(myReader.Read())
{
一般就读10来行数据,大家都用什么方法去读?
}

------解决方案--------------------
看你有什么功能要求,如果你需要精确定位数据集的某条记录,那么用dataset比较好,如果仅仅是绑定显示而且不对其修改那么datareader比较不错
------解决方案--------------------
myReader[ "id "]
------解决方案--------------------
看情况咯
Reader和DataSet都用
------解决方案--------------------
像这种情况用数据适配器去读就可以了(SqlDataAdapter),因为SqlDataReader做起来还是相对麻烦些,且SqlConnection被占用.

------解决方案--------------------
使用GotDotNet.ApplicationBlocks.Data
没有发言权
------解决方案--------------------
sqlserver用ApplicationBlocks.Data最合适了,
可以适当剪裁一下,里面overload太多了,大半不常用。
oracle可以仿照ApplicationBlocks.Data自已做一个。
------解决方案--------------------
我用dataset,如果数据比较大的情况下就用SP了
------解决方案--------------------
1、读取一条记录的时候用 DataReader

2、读取多条记录但是每一条记录只取一两条记录 的时候用 DataReader

3、其他的时候尽量用 DataTable

4、一次返回多个记录集的时候用 DataSet 。
------解决方案--------------------

这种情况在Asp.net中要用数据绑定才好啊

不知道你是不是要做三层

http://www.51aspx.com/Tags/2
------解决方案--------------------
同意楼上的
1、读取一条记录的时候用 DataReader

2、读取多条记录但是每一条记录只取一两条记录 的时候用 DataReader

3、其他的时候尽量用 DataTable

4、一次返回多个记录集的时候用 DataSet 。

------解决方案--------------------
补充一条

5、不要用 DataReader 来绑定控件,因为会增加数据库连接的open时间。就是多占用了宝贵的连接资源。



------解决方案--------------------
尽量用DataReader 读取的数据的时候通过实体类传递
------解决方案--------------------
同意楼上。
读取完了就关闭DataReader。这家伙独占数据库连接。

------解决方案--------------------
DataHelper
------解决方案--------------------
有人说不要用 DataReader 来绑定控件,因为会增加数据库连接的open时间。就是多占用了宝贵的连接资源,那么请问,在填充dataset、datatable时是不是也有时间?dataset、datatable是不是还要实例化过程、填充过程?如果我取20行数据,用什么好啊。如果是一行呢?
------解决方案--------------------
添充DataTable的时间是比较固定的,是比较短的。

添充DataTable 相当于象数组里添加数据。

而绑定控件的时间是和控件的复杂程度有关的,越复杂的所需的时间就越长。

(这里的控件指的是显示用的控件,比如DataGrid Repeater等)

绑定控件实际上是组合字符串(HTML格式的),记录越多,控件越复杂,最后生成的字符串就越大,大家都知道,对于字符串的处理是比较慢的(至少比数组慢),尤其是一点一点加上去的字符串。

(控件越复杂) 指的是 有很多 <table> <TR> <TD> <DIV> 这样的html代码。



------解决方案--------------------
我想问楼上大哥,比如我做首页,大概有10个以上的地方需要显示前10条记录,用什么方式好呢?
用dataset一次返回,绑定
还是datatable多次读库返回,绑定
请问:使用Repeater控件快,还是自己StringBuder构造,缓存,并用lable显示,哪种较好啊?
------解决方案--------------------
有人说不要用 DataReader 来绑定控件,因为会增加数据库连接的open时间。就是多占用了宝贵的连接资源,那么请问,在填充dataset、datatable时是不是也有时间?dataset、datatable是不是还要实例化过程、填充过程?如果我取20行数据,用什么好啊。如果是一行呢?
------------------
如果你直接用IDataReader绑定控件,那么在数据绑定完之前,Connection一直都没有关闭(特别是你用SqlHelper时),这样对数据库造成的压力就会很大