[HOW TO フォーキングでコードを軽減する基本クラスを使用してマネージ Visual C# .NET でのプロバイダー

文書翻訳 文書翻訳
文書番号: 313304 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

このステップ バイ ステップ ガイドが基本クラスを使用してマネージ プロバイダーとフォーキング コードを削減する方法について説明してください。

技法の説明

ADO.NET には (たとえば、SqlClient、OleDb、ODBC という) のデータ プロバイダーの種類があります。 アプリケーションを開発する場合、不適切な .NET データ プロバイダーを選択した場合、プロバイダーでロックされてや広範囲にわたって、コードを書き換えるが必要な可能性があります。 この問題を避けるには、基本クラスを使用できます。

たとえば、すべて SqlDataAdapter OleDbDataAdapter OdbcDataAdapter クラスはさらに、 System.Data.Common.DataAdapter クラスを継承する DbDataAdapter クラスから継承します。 ( SqlDataAdapter OleDbDataAdapter 、や OdbcDataAdapter ) など、継承したクラスではなく独自のクラスや、親クラス ( DataAdapter ) を使用する関数を作成できます。 一般的なオブジェクトまたはインターフェイス プロバイダーに依存しないが返します。 この方法では、一般的な関数またはクラスに、プロバイダー固有のコードを分離し、すべてのプロバイダーに汎用ようにアプリケーションを作成できます。

Visual C# .NET での継承についてはをクリック資料以下、「サポート技術情報」(Microsoft Knowledge Base) を表示します。
307205方法: C# での継承を使用します。
この資料の手順で、 IDataAdapter インターフェイスを使用して任意の .NET プロバイダーを使用する方法について説明特定 データアダプター

: 優先をコードから分岐はする方法、 DbDataAdapter クラスから継承する場合は、 IDataAdapter インターフェイスを使用します。 その他の優先インターフェイス inclue IDBConnection IDBCommand IDataReader

要件

以下の項目は推奨するハードウェア、ソフトウェア、ネットワーク基盤、技術と知識、および必要な Service Pack について説明しています:
  • Microsoft Windows 2000 Professional、Microsoft Windows 2000 Server、Windows 2000 サーバー、または Microsoft Windows NT 4. 0 サーバーを拡張
  • Microsoft Visual Studio .NET
  • ODBC .NET マネージド プロバイダー
  • Microsoft SQL Server 7. 0 またはそれ以降のバージョン
次の項目について、この資料に記載されている情報を使用する前に理解する必要があります説明します。
  • Microsoft Visual Studio .NET
  • Microsoft ADO.NET の基礎と構文

プロジェクトの作成とコードの追加

ここでは、 IDataAdapter インターフェイスを使用して System.Data.OleDb.OledbDataAdapter System.Data.SqlClient.SqlDataAdapter および Microsoft.Data.Odbc.OdbcDataAdapter からフォーキング コードを削減する方法について説明します。
  1. Visual Studio .NET を起動します。
  2. Visual C# .NET の Windows アプリケーションを新規作成します。
  3. プロジェクトに System.Data 名前空間への参照ことを確認。 そうでない場合は、参照を追加します。
  4. Microsoft.Data.Odbc.dll に参照を追加します。ODBC .NET マネージド プロバイダの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
    310988方法: Visual C# .NET での接続文字列に、ODBC .NET マネージ プロバイダーを使用します。
  5. ボタン DataGrid と 3 つの RadioButton コントロールを Form1 に配置します。
    • btnTest テスト する テキスト プロパティには、ボタンの 名前 プロパティを変更します。
    • rbSqlClient SQL クライアント Text プロパティには、最初の RadioButton プロパティを変更します。
    • rbOledb OLE DB Text プロパティには、2 番目の RadioButton プロパティを変更します。
    • rbOdbc ODBC Text プロパティには、3 番目の RadioButton プロパティを変更します。
  6. 後のコードでそれらの名前空間の宣言を修飾する必要がないようには、[ 使用 ] </a0> ステートメントを名前空間に使用します。 次のコードを Form1 の全般の宣言セクションに追加:
    using System.Data;
    using System.Data.Common;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using Microsoft.Data.Odbc;
    					
  7. 入力するか、[全般] の宣言領域の次のコードを貼り付けます:
    IDataAdapter da;
    DataSet ds = new DataSet();
    					
  8. 次のコードを含む DataAdapterFactory 関数を作成:
    public IDataAdapter DataAdapterFactory()
    {
    	String myConnString; 
    	String myQuery  = "Select * From Customers";
    
    	if (rbSqlClient.Checked)
    	{
    		//Using SqlClient
    		myConnString = "server=myserver;integrated security=sspi;database=Northwind";
    		SqlConnection mycon = new SqlConnection(myConnString);
    		SqlDataAdapter daCust = new SqlDataAdapter(myQuery, mycon);
    		return daCust;
    	}
    	else if (rbOledb.Checked)
    	{
    		//Using OleDb
    		myConnString = "Provider=SqlOledb.1;Data Source=myserver;integrated security=SSPI;Database=Northwind";
    		OleDbConnection mycon = new OleDbConnection(myConnString);
    		OleDbDataAdapter daCust = new OleDbDataAdapter(myQuery, mycon);
    		return daCust;
    	}															   
    	else if (rbOdbc.Checked)
    	{
    		//Using Odbc
    		myConnString = "Driver={SQL Server};Server=myserver;trusted_connection=yes;database=Northwind";
    		Microsoft.Data.Odbc.OdbcConnection mycon = new Microsoft.Data.Odbc.OdbcConnection(myConnString);
    		OdbcDataAdapter daCust = new OdbcDataAdapter(myQuery, mycon);
    		return daCust;
    	}
    	else
    	{
    		return null;
    	}																											  
    }
    					
  9. 入力するか、btnTest ] をクリックして イベントの次のコードを貼り付けます:
    da = DataAdapterFactory();
    da.Fill(ds);
    dataGrid1.DataSource = ds ;
    					
  10. 環境に応じて接続文字列を変更します。
  11. プロジェクトを保存します。 [ デバッグ ] の [ 開始 をプロジェクトを実行する] をクリックします。
  12. 接続を使用して] (テスト) をクリックするマネージ プロバイダーを選択します。

    DataGrid は、クエリから返されたデータを表示します。

トラブルシューティング

基本クラスを使用してプロバイダー固有の機能が失われます。

関連情報

ADO.NET オブジェクトと構文の詳細については、Microsoft .NET Framework SDK のドキュメントまたは MSDN オンラインを表示します。
ADO.NET を使用したデータのアクセス
http://msdn.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx
.NET マネージド プロバイダの詳細については、.NET Developer Center または次のマイクロソフト Web サイトを参照してください:
.NET 内のマネージ プロバイダー
http://msdn.microsoft.com/en-us/library/ms810268.aspx

プロパティ

文書番号: 313304 - 最終更新日: 2007年5月13日 - リビジョン: 3.4
この資料は以下の製品について記述したものです。
  • Microsoft ADO.NET 1.0
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
キーワード:?
kbhowtomaster kbsqlclient kbsystemdata kbmt KB313304 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:313304
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com