SqlDataReader 类提供了一种从数据源读取数据记录只进流的方法。若是想使用 OLE DB 接口的数据库或者 SQL Server7.0 以前的版本,请参考文章: 使用 OLE DB 检索数据。
SqlDataReader myDataReader = null; SqlConnection myConnection = new SqlConnection("server=(local);Integrated Security=SSPI;database=northwind;"); SqlCommand myCommand = new SqlCommand("SELECT EmployeeID, LastName, FirstName, Title, ReportsTo FROM Employees", myConnection); myConnection.Open(); myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
while (myDataReader.Read()) { Console.Write(myDataReader.GetInt32(0) + "\t"); Console.WriteLine(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "\t"); Console.WriteLine(myDataReader.GetString(3) + "\t"); if (myDataReader.IsDBNull(4)) Console.WriteLine("N/A\n"); else Console.WriteLine(myDataReader.GetInt32(4) + "\n"); }
// 当读取完成时,调用 Close 方法 myDataReader.Close(); // 关闭链接 myConnection.Close();