sthy.net
当前位置:首页 >> Asp.nEt DAtArEADEr >>

Asp.nEt DAtArEADEr

SqlCommand cmd = new SqlCommand("SELECT ......", connection); SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.Default); while (sdr.Read()) { GridView1.DataSource = sdr; GridView1.DataBind(); } 楼上正解,但有点错误,不能用...

他们的确是asp.net的概念DataTable看其名字么意思就是数据表,这是一个内存中的数据表,你Fill之后其实就和数据库没连接了。 而DataReader是一个只读的游标,你每一次的Reader都要和数据库交互,而且在你执行DataReader期间是不能有其他的数据库...

DataReader是通过IDbCommand.ExecuteReader来读取数据。 DataSet则是通过DbDataAdapter.Fill来填充数据 所以DataReader在获取数据时不能关闭连接。而DataSet则可以,因为DbDataAdapter已经将数据读取到应用程序服务器中,所以在使用DataReader时...

首先回答你的问题,你不能判断一个Connection是否打开一个DataReader 其次教你正确的使用方式,使用using语句包裹connection和datareader,每次用的时候都new connection,你不需要考虑性能问题,因为不是你关心的事情,.net底层有连接池,并且...

你前面 Aid.ExecuteReader().Read(); 这个已经执行了 ExecuteReader 就不能再执行一遍了 只能搞个变量吧ExecuteReader的结果存下来,最后调用这个变量的Close() ExecuteReader这操作数据库的关键步骤怎么能随便乱写呢,这可不是想ExecuteReader...

先用MySqlDataReader.HasRows来判断一下是否有数据。 另外保险起见,用try…catch…finally。代码如下: try { MySqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { // reader中有数据 while (reader.Read()) { …… } } else { /...

DataTable相当于一块内存,其中存放一些数据,而DataReader,相当于游标,只会根据需要取合适数量的记录。比如:如果你有100W条记录要循环,那么你肯定只能使用datareader,如果DataTable计算机可能会死机或者被Windows终止(内存溢出)!

返回DataTable 是返回一张数据表 DataSet是数据集 DataRow 是一行数据 SqlDataReader是读取数据行的方法

dr?定义的变量吧,不一定代表datareader,看你个人写代码习惯了。

关于using会自动释放资源,但是对于DataRader建议手动关闭 !若还有疑问,请私信继续探讨

网站首页 | 网站地图
All rights reserved Powered by www.sthy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com