当前位置: 首页>>代码示例>>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;未经允许,请勿转载。