数据层大家都用什么方法读取数据?
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时),这样对数据库造成的压力就会很大