英語で読む

次の方法で共有


クラス ライブラリの作成

このチュートリアルでの前提条件として、いくつかの設定が必要になります。

データベース設定の前提

  1. SQL Server の設定
    • SQL Server(または OEM バージョン、MSDE)をインストールしている場合は、SQL Server 認証を要求するよう設定されている必要があります。
    • SQL Server(または OEM バージョン、MSDE)がインストールされていない場合は、MSDE をインストールし、SQL Server 認証を True に設定します。
  2. SQL Server とともに提供される Northwind データベースをインストールし、SQL Server 認証が要求されることを確認する必要があります。
  3. Web サイトで使用するために、制限アクセス アカウントを作成する必要があります。

IdataReader を返す静的メソッドを含むクラス ライブラリを作成する

SQL Server 認証を伴う MSDE または Northwind データベースをインストールするには、このマニュアルの「システム設定」で次の節を参照してください。

SQL Server および Northwind データベースを設定すると、Northwind データベースから IDataReader として値を返すクラス ライブラリを作成することができます。

Note

このチュートリアルでは、SQL Server に付属の Northwind データベースを使用しますが、OLEDB 準拠のデータベースならどれでも使用できます。

  1. [ファイル]メニューの[新規作成]をポイントし、次に[プロジェクト]をクリックします。

  2. [新しいプロジェクト]ダイアログ ボックスで、[プロジェクトの種類]リストから C# または Visual Basic の言語フォルダを選択します。

  3. [テンプレート]のリストで[クラス ライブラリ]をクリックします。

  4. [名前]フィールドで、デフォルトのプロジェクト名を "VB_Lib_DataLayer" [Visual Basic] または "CS_Lib_DataLayer" [C#] に置き換え、[OK]をクリックします。

  5. ソリューション エクスプローラで、デフォルト クラス(Class1)を右クリックし、[削除]をクリックします。

  6. ソリューション エクスプローラで太字のプロジェクト名を右クリックし、[追加]をポイントして[クラス]をクリックします。

  7. [新しい項目の追加]ダイアログ ボックスで、[テンプレート]ビューから“Class”という名前のテンプレートを選択します。

  8. [名前]フィールドに「DataCenter」と入力し、[追加]をクリックします。

  9. Visual Basic を使用している場合は、クラスの一番上に「Option Strict On」と入力します。

  10. クラス署名の上で、System.Data および System.Data.OleDb 名前空間用の "Imports" [Visual Basic] または "using" [C#] 宣言をクラスの先頭に追加します(これらの名前空間がまだ宣言されていない場合)。

``` vb
Imports System.Data
Imports System.Data.OleDb
```

``` csharp
using System.Data;
using System.Data.OleDb;
```
  1. クラス レベルで、OLEDB 接続文字列を表すプライベート文字列定数を作成します。
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/w5dk7atd.alert_note(ja-jp,VS.90).gif" title="Note" alt="Note" class="note" />注</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>セキュリティ上の理由により、アクセス権限を制限したデータベース アカウントを使用する必要があります。詳細については、<a href="ms227498(v=vs.90).md">「セキュリティ:アクセス制限付きのデータベース アカウントの作成」</a>を参照してください。</p></td>
</tr>
</tbody>
</table>

記述するコードでは、サンプルのサーバー名 DBServer01 とサンプルのパスワード 1234 (以下を参照)を、使用しているデータベースのサーバー名とパスワードに置き換えてください。

``` vb
Private Const OLEDB_CONNECTION_STRING As String =
"provider=sqloledb;Data Source=DBSERVER01;Initial
Catalog=Northwind;User Id=limitedPermissionAccount;Password=1234"
```

``` csharp
private const string OLEDB_CONNECTION_STRING =
"provider=sqloledb;Data Source=DBSERVER01;Initial
Catalog=Northwind;User Id=limitedPermissionAccount;Password=1234";
```
  1. データベース クエリーを表す 2 番目のプライベート文字列定数を作成します。

    Private Const CUSTOMER_TABLE_QUERY As String = "SELECT CustomerID,
    CompanyName, ContactName, Address, City FROM Customers"
    
    private const string CUSTOMER_TABLE_QUERY = "SELECT CustomerID,
    CompanyName, ContactName, Address, City FROM Customers";
    
  2. IDataReader を返す GetCustomersUsingOleDb() というパブリック メソッドを作成し、"Shared" [Visual Basic] または "static" [C#] にします。

``` vb
Public Shared Function GetCustomersUsingOleDb() As IDataReader
End Function
```

``` csharp
public static IDataReader GetCustomersUsingOleDb()
{
}
```
  1. このメソッド内で、OleDbConnection を宣言してインスタンス化し、OLEDB_CONNECTION_STRING 定数を渡します。

    Dim myOleDbConnection As OleDbConnection = New
    OleDbConnection(OLEDB_CONNECTION_STRING)
    
    OleDbConnection oleDbConnection = new
    OleDbConnection(OLEDB_CONNECTION_STRING);
    
  2. データベース接続を開くために、OleDbConnection インスタンスから Open() メソッドを呼び出します。

``` vb
myOleDbConnection.Open()
```

``` csharp
oleDbConnection.Open();
```
  1. OleDbCommand を宣言してインスタンス化し、CUSTOMER_TABLE_QUERY 定数および OleDbConnection インスタンスを渡します。

    Dim myOleDbCommand As OleDbCommand = New
    OleDbCommand(CUSTOMER_TABLE_QUERY, myOleDbConnection)
    
    OleDbCommand oleDbCommand = new OleDbCommand(CUSTOMER_TABLE_QUERY,
    oleDbConnection);
    
  2. OleDbCommand インスタンスの ExecuteReader() メソッドを呼び出し、IDataReader インスタンスに渡します。

``` vb
Dim myIDataReader As IDataReader = myOleDbCommand.ExecuteReader()
```

``` csharp
IDataReader iDataReader = oleDbCommand.ExecuteReader();
```
  1. メソッドから IDataReader インスタンスを返します。

    Return myIDataReader
    
    return iDataReader;
    
  2. [ビルド]メニューの[ソリューションのビルド]をクリックします。

  3. [ファイル] メニューの[ソリューションを閉じる]をクリックします。