zoukankan      html  css  js  c++  java
  • ADO.NET 快速入门(十四):使用 SQL Server 检索数据

    SqlDataReader 类提供了一种从数据源读取数据记录只进流的方法。如果想使用 OLE DB 接口的数据库或者 SQL Server7.0 之前的版本,请参考文章:使用 OLE DB 检索数据
     
    SqlCommand 调用 ExecuteReader 方法创建 SqlDataReader,不通过直接使用构造器创建。当 SqlDataReader 正在使用时,关联的 SqlConnection 处于对 SqlDataReader 服务挂起状态 。在这个状态下,除非关闭 SqlConnection 的连接,没有其他操作可以执行。在调用 SqlDataReader 的 Close 方法之前,会一直保持这种状态。
     
    SqlDataReader 提供一种从 SQL Server 数据源读取数据记录只进流的手段。更多交互操作,例如:Scrolling、Filtering、Navigating、Romoting,等等,请使用 DataSet。 
     
    这个例子,创建了到 Northwind 库的 SqlConnection 连接。SqlCommand 从 Employee 表选择数据项,然后利用 SqlCommand 的 ExecuteReader 方法执行查询。命令的结果传递给 SqlDataReader。
     
                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);
    这个例子,使用 SqlDataReader 的 Read 方法读取数据并且把数据项输出到控制台程序。
     
                while (myDataReader.Read())
                {
                    Console.Write(myDataReader.GetInt32(0) + "	");
                    Console.WriteLine(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "	");
                    Console.WriteLine(myDataReader.GetString(3) + "	");
    
                    if (myDataReader.IsDBNull(4))
                        Console.WriteLine("N/A
    ");
                    else
                        Console.WriteLine(myDataReader.GetInt32(4) + "
    ");
                }
    最后,这个例子关闭 SqlDataReader,然后是 SqlConnection。
     
                // 当读取完成时,调用 Close 方法
                myDataReader.Close();
    
                // 关闭连接
                myConnection.Close();
    总结
    1、SqlDataReader 用于快速地从数据源读取数据记录只进流。
    2、请记住,关闭 SqlDataReader,然后是 SqlConnection。
    3、请记住,如果 SqlDataReader 正在使用,关联的 SqlConnection 处于对 SqlDataReader 服务挂起状态。在关闭 SqlConnection 连接以前,没有任何与之的操作可以执行。
     
  • 相关阅读:
    Curling 2.0
    POJ
    免费馅饼
    每日一九度之 题目1090:路径打印
    每日一九度之 题目1089:数字反转
    每日一九度之 题目1084:整数拆分
    每日一九度之 题目1083:特殊乘法
    每日一九度之 题目1081:递推数列
    每日一九度之 题目1079:手机键盘
    每日一九度之 题目1077:最大序列和
  • 原文地址:https://www.cnblogs.com/JavCof/p/3453000.html
Copyright © 2011-2022 走看看