本文整理汇总了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");
}
}
}
}