當前位置: 首頁>>代碼示例>>C#>>正文


C# IDataReader.NextResult方法代碼示例

本文整理匯總了C#中System.Data.IDataReader.NextResult方法的典型用法代碼示例。如果您正苦於以下問題:C# IDataReader.NextResult方法的具體用法?C# IDataReader.NextResult怎麽用?C# IDataReader.NextResult使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Data.IDataReader的用法示例。


在下文中一共展示了IDataReader.NextResult方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Main

//引入命名空間
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Odbc;

class Program {
   static void Main(string[] args) {

      // string connectionTypeName = "SqlClient";
      // string connectionString = @"Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI";

      // string connectionTypeName = "Odbc";
      // string connectionString = @"Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection=Yes";

      string connectionTypeName = "OleDb";
      string connectionString = @"Provider=SQLNCLI11;Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI";

      using (IDbConnection connection = DatabaseConnectionFactory.GetConnection(connectionTypeName, connectionString)) {
         IDbCommand command = connection.CreateCommand();
         command.Connection = connection;

         // these 2 queries are executed as a single batch and return 2 separate results
         command.CommandText = "SELECT CountryRegionCode, Name FROM Person.CountryRegion;" + "SELECT CountryRegionCode, StateProvinceCode, Name, StateProvinceID FROM Person.StateProvince;";

         connection.Open();

         using (IDataReader reader = command.ExecuteReader()) {

            // process the first result
            displayCountryRegions(reader);

            // use NextResult to move to the second result and verify it is returned
            if (!reader.NextResult())
               throw new InvalidOperationException("Expected second result (StateProvinces) but only one was returned");

            // process the second result
            displayStateProvinces(reader);

            reader.Close();
         }

         connection.Close();
      }
   }

   static void displayCountryRegions(IDataReader reader) {
      if (reader.FieldCount != 2)
         throw new InvalidOperationException("First resultset (CountryRegions) must contain exactly 2 columns");

      while (reader.Read()) {
         Console.WriteLine("CountryRegionCode={0}, Name={1}"
             , reader.GetString(reader.GetOrdinal("CountryRegionCode"))
             , reader.GetString(reader.GetOrdinal("Name")));
      }
   }

   static void displayStateProvinces(IDataReader reader) {
      if (reader.FieldCount != 4)
         throw new InvalidOperationException("Second resultset (StateProvinces) must contain exactly 4 columns");

      while (reader.Read()) {
         Console.WriteLine("CountryRegionCode={0}, StateProvinceCode={1}, Name={2}, StateProvinceID={3}"
             , reader.GetString(reader.GetOrdinal("CountryRegionCode"))
             , reader.GetString(reader.GetOrdinal("StateProvinceCode"))
             , reader.GetString(reader.GetOrdinal("Name"))
             , reader.GetInt32(reader.GetOrdinal("StateProvinceID")));
      }
   }

   class DatabaseConnectionFactory {
      static SqlConnection GetSqlConnection(string connectionString) {
         return new SqlConnection(connectionString);
      }

      static OdbcConnection GetOdbcConnection(string connectionString) {
         return new OdbcConnection(connectionString);
      }

      static OleDbConnection GetOleDbConnection(string connectionString) {
         return new OleDbConnection(connectionString);
      }

      public static IDbConnection GetConnection(string connectionTypeName, string connectionString) {
         switch (connectionTypeName) {
            case "SqlClient":
               return GetSqlConnection(connectionString);
            case "Odbc":
               return GetOdbcConnection(connectionString);
            case "OleDb":
               return GetOleDbConnection(connectionString);
            default:
               throw new ArgumentException("Value must be SqlClient, Odbc or OleDb", "connectionTypeName");
         }
      }
   }
}
開發者ID:.NET開發者,項目名稱:System.Data,代碼行數:98,代碼來源:IDataReader.NextResult


注:本文中的System.Data.IDataReader.NextResult方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。