在ADO.NET中,SqlSqlDataReader对象也有Close()方法,在使用完SqlSqlDataReader之后,必须使用Close()方法关闭数据流(或关闭读取器对象)。如下C#代码:string connStr = "Data Source=.;Initial Catalog=bw_testdb;Integrated Security=True";SqlConnection conn = new SqlConnection(connStr);//打开连接conn.Open()...
说明SqlConnection和SqlDataReader都已经被关闭了。 如果把CommandBehavior.CloseConnection去掉,输出的结果则是: False Open 由此可见,使用了CommandBehavior.CloseConnection之后,读取完数据后,系统自动关闭了SqlDataReader和SqlConnection。听说当初微软弄出CommandBehavior.CloseConnection的目的,就是为了解决数据库的关闭问题的。
connection);SqlDataReaderreader1=command1.ExecuteReader(CommandBehavior.SequentialAccess);while(reader1.Read()){// 读取数据}reader1.Close();SqlCommandcommand2=newSqlCommand("SELECT * FROM Table2",connection);SqlDataReaderreader2=command2.ExecuteReader(CommandBehavior...
SqlDataReader sdr=GetReader_CloseConnection(con); while(sdr.Read()) { } sdr.Close(); Console.WriteLine("读取完毕后的连接状态:"+con.State.ToString()); //测试没有使用CommandBehavior.CloseConnection的方法 Console.WriteLine("测试没有使用CommandBehavior.CloseConnection的方法:"); SqlDataReader sdr1=Ge...
1、当SqlDataReader没有关闭之前,数据库连接会一直保持open状态,所以在使用SqlDataReader时,使用完毕应该马上调用SqlDataReader.Close()关闭它。 2、一个连接只能被一个SqlDataReader使用,这也是为什么要尽早关闭SqlDataReader的原因。 3、使用完SqlDataReader后,你可以在程序中显示的调用数据库连接对象的Close方法关闭连...
Close(); for (int i = 0; i < dt.Rows.Count; i++) { //Get the Warehouse Receivied Status from ERP LN //This update using MSSQL job to update the data //Database: WAIBPM //Table: FormRMA //Data field: WarehouseReceived //Pickup and approve if (gf.testread("Select ID from...
SqlDataReader在使用 时,关联的 SqlConnection 正忙于为 提供服务SqlDataReader,除了关闭它,不能对 SqlConnection 其他执行其他操作。 在调用 的 SqlDataReader 方法之前Close就是这种情况。 例如,在调用 Close之前,无法检索输出参数。读取数据时,另一进程或线程对结果集所做的更改可能对 SqlDataReader 的用户可...
rdr.Close(); 注意,因为第一数据行在调用ExecuteReader之后并非立即可用,所以该代码在读取结果的第一行之前调用Read方法。这代表相对于以前对象模型(例如ADO)的一个变化。在调用Read方法之前,SqlCommand对象返回的SqlDataReader并不能使第一数据行可用。 在第一次调用Read方法时,SqlDataReader移到结果集中的第一行。对...
} dr.Close();这样是没有问题的,可以读取多条数据.dr.Read()方法读取下一条数据成功就返回true,失败,即读取完毕时返回false.至于只能读取一条数据,可能是这个存储过程只返回了一条数据,或者其他什么原因,我没有用过SQLServerHelper,不是很清楚.可以在数据库里调用那个存储过程试试,看看返回了多少数据....
9.如果需要,关闭数据库连接,使用`Close()`或`Dispose()`方法关闭。 以下是一个使用`SqlDataReader`的示例代码: csharp using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT * FROM Customers"; using (SqlCommand command = new SqlCommand(quer...