方法 : データ アダプタのパラメータを設定する
更新 : 2007 年 11 月
ほとんどの場合、データアダプタの Command オブジェクト (SelectCommand、InsertCommand、UpdateCommand、DeleteCommand) は、パラメータを必要とする SQL ステートメントまたはストアド プロシージャを参照します。データアダプタ構成ウィザードを使用してアダプタを作成した場合、これらのコマンドに対するパラメータは自動的に設定されます。ただし、手動でパラメータを設定したり、既存のパラメータ コレクションに変更を加えたりすることが必要な場合もあります。
メモ : |
---|
以前のバージョンの Visual Studio では、アプリケーションとデータベースの通信にデータ アダプタが使用されていました。データ アダプタは現在も .NET Framework データ プロバイダ (ADO.NET) の主要なコンポーネントですが、TableAdapter はデザイナで生成されるコンポーネントで、アプリケーションとデータベースの間でデータを移動する処理を簡略化します。TableAdapter の操作方法の詳細については、「TableAdapter の概要」を参照してください。 |
ヒント : |
---|
コマンドに対する SQL ステートメントに変更を加えた後でパラメータを設定する場合は、クエリ ビルダの [このコマンドのパラメータ コレクションを再生成する] オプションを選択できます。 |
メモ : |
---|
使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
データアダプタのパラメータを設定するには
データアダプタを作成します。詳細については、「データアダプタの作成」を参照してください。
フォーム デザイナまたはコンポーネント デザイナで、データアダプタを選択し、[プロパティ] ウィンドウを開きます。
パラメータを設定するコマンド オブジェクト (たとえば、UpdateCommand) を展開し、Parameters プロパティの省略記号 (...) ボタンをクリックして [Parameter コレクション エディタ] ウィンドウを開きます。
新しいパラメータ オブジェクトを作成するには、[追加] をクリックします。
新しいパラメータをそのパラメータに対するコレクション内の正しいインデックス位置に配置するために、[並べ替え] の下の矢印をクリックしてパラメータを移動します。
パラメータのプロパティを設定するには、[メンバ] ボックスのパラメータを選択し、右側にあるプロパティ グリッドを使用します。通常設定するプロパティを次の表に示します。
プロパティ
説明
SourceColumn
パラメータ値を読み取るデータセット テーブル内の列の名前。このプロパティは、UPDATE、INSERT、または DELETE ステートメント (またはそれに相当するストアド プロシージャ) に値を格納するパラメータと一緒に使用します。
SourceVersion
パラメータ値が SourceColumn プロパティを通して取得される場合、SourceVersion は、パラメータ値のソースとしてどのバージョンのデータセット レコードを使用するかを指定します。
Original - データベースから読み取られたときの列の値。このオプションは、変更前の列の値が必要なときに使用します。たとえば、主キーが変更されているが、データベースのレコードを検索するには元のキーを必要とする場合です。
Current - レコードが更新された後の列の値。通常は、これがデータベースに書き込まれる値です。
Default - 値が明示的に指定されない場合に列に設定される値。
Value
パラメータに設定する明示的な値。多くの場合、このプロパティはデザイン時に静的に設定されるのではなく、実行時に設定されます。
Value プロパティと SourceColumn プロパティが共に設定された場合は、Value プロパティが優先されます。
NamedParameter
パラメータが変数 (一般に @parametername という書式を使用) またはプレースホルダ (一般に疑問符を使用) に対応するかどうかを示す Boolean 値。SqlConnection オブジェクトと共に名前付きパラメータを使用している場合は、このプロパティを true に設定します。
DBType、Precision、Scale、Size
パラメータ値のネイティブ データ型 (データ ストアでの) に関する情報。パラメータ値は指定した型に、または指定した型から変換されます。
Direction
パラメータ値をコマンドに渡すかまたはコマンドから取得するかの指定。
Input - 値はコマンドに渡されます。これは、既定の設定です。
Output - 値はストアド プロシージャから返されます。SQL ステートメントには適用されません。
InputOutput - 値はストアド プロシージャに渡されてから返されます。通常は変更された値とともに返されます。
ReturnValue - 値は明示的な戻り値です。既定では、パラメータ コレクションの最初の項目 (インデックス値ゼロ) が戻り値です。
ParameterName
コレクション内のパラメータをインデックス値で参照する代わりに、参照に使用できる名前。このプロパティは必須ではありませんが、保守を容易にするためにパラメータ名の使用をお勧めします。
[OK] をクリックして [Parameter コレクション エディタ] ウィンドウを閉じます。
手順 3 ~ 7 を繰り返して、ほかのコマンド オブジェクトのパラメータを設定します。