使用ADO.NET怎样从SQL Server 中检索数据
发表于:2007-06-30来源:作者:点击数:
标签:
此示例阐释如何使用 SqlDataReader 类从 SQL Server 读取数据。此类提供了一种从数据源读取只进数据记录流的方法。如果要使用具有 OLE DB 接口或 SQL Server 7.0 以前的 SQL Server 版本的 数据库 ,请参阅从 OLE DB 检索数据。 SqlDataReader 是通过调用 Sql
此示例阐释如何使用 SqlDataReader 类从 SQL Server 读取数据。此类提供了一种从数据源读取只进数据记录流的方法。如果要使用具有 OLE DB 接口或 SQL Server 7.0 以前的 SQL Server 版本的
数据库,请参阅从 OLE DB 检索数据。 SqlDataReader 是通过调用 SqlCommand 的 ExecuteReader 方法来创建的,而不是通过直接使用构造函数创建的。当 SqlDataReader 在使用中时,相关联的 SqlConnection 将忙于为 SqlDataReader 提供服务。在这种情况下,除了关闭 SqlConnection 之外,无法在 SqlConnection 上执行任何其他操作。在调用 SqlDataReader 的 Close 方法之前,这种情况一直存在。 SqlDataReader 提供一种从 SQL Server 数据源读取只进数据记录流的方法。要进行交互性更强的操作,如滚动、筛选、定位、远程处理等,请使用数据集。 此示例创建到 Northwind 数据库的 SqlConnection。然后使用 SqlCommand ExecuteReader 方法执行从雇员 (Employee) 表中选择项的 SqlCommand。此命令的结果将传递给 SqlDataReader。 C# : SqlDataReader myDataReader = null; SqlConnection mySqlConnection = new SqlConnection("server=(local)\VSdotNET;Trusted_Connection=yes;database=northwind"); SqlCommand mySqlCommand = new SqlCommand("SELECT EmployeeID, LastName, FirstName, Title, ReportsTo FROM Employees", mySqlConnection); ... mySqlConnection.Open(); myDataReader = mySqlCommand.ExecuteReader(CommandBehavior.CloseConnection); 此示例使用 SqlDataReader Read 方法读取全部数据,然后将数据元素写出到控制台。 C# : while (myDataReader.Read()) { Console.Write(myDataReader.GetInt32(0) + "\t"); Console.Write(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "\t"); Console.Write(myDataReader.GetString(3) + "\t"); if (myDataReader.IsDBNull(4)) Console.Write("N/A\n"); else Console.Write(myDataReader.GetInt32(4) + "\n"); } 最后,该示例先关闭 SqlDataReader,然后再关闭 SqlConnection。 C# : // Always call Close when done reading. myDataReader.Close(); // Close the connection when done with it. mySqlConnection.Close(); 摘要 1、SqlDataReader 用于从 SQL Server 读取只进数据记录流。 2、请记住先关闭 SqlDataReader,然后再关闭 SqlConnection。 3、每次只能在 SqlConnection 上打开一个 SqlDataReader。如果 SqlDataReader 在使用中,相关联的 SqlConnection 将忙于为 SqlDataReader 提供服务。在这种情况下,除了关闭 SqlConnection 之外,无法在 SqlConnection 上执行任何其他操作。
原文转自:http://www.ltesting.net