方法 : DataTable に列を追加する
データ テーブル (DataTable) を構成する個々の列 (DataColumn) は、データ テーブルの DataColumnCollection に列を追加することにより作成します。データセット デザイナーを使用してビジュアルに、またはデータ ウィザードの 1 つを使用して、列をデータ テーブルに追加できます。プログラムによりデータ列をデータ テーブルに追加する方法の詳細については、「Adding Columns to a Table」を参照してください。
列を追加したら、必要に応じてそれらを設定できます。たとえば、列の既定値、または一意性制約を指定できます。また、データベースから直接読み取る値ではなく、計算した値を列に表示することも指定できます。
[!メモ]
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。
一般的なタスク
タスク |
関連する参照先 |
---|---|
テーブルに列を追加します。データセット デザイナー、データ ソース構成ウィザード、または TableAdapter 構成ウィザードを使用して列を追加できます。 |
|
DataColumns の構成: 列は、既定のプロパティを使用して追加されます。各 DataColumn の設定をカスタマイズして、その動作を指定できます。たとえば、列のデータ型、既定値、または固有の値を含む列の制約を指定できます。また、データベースから直接読み取る値ではなく、計算値を表示するデータ列を設定できます。 |
データ テーブルへの列の追加
DataColumn を構成する前に、まずそれを DataTable に追加する必要があります。これは、次の手順のどれかで実行できます。
データセット デザイナーを使用して列を DataTable に追加するには
データセット デザイナーでデータセットを開きます。詳細については、「方法 : データセット デザイナーでデータセットを開く」を参照してください。
列を追加する DataTable を右クリックします。[追加] をポイントし、[列] をクリックします。
必要に応じて、データ テーブルの列名を選択してテキストを編集することにより、既定の列名を置き換えます。
[プロパティ] ウィンドウで DataType プロパティを設定します。
データ ソース構成ウィザードを使用して列を DataTable に追加するには
[データ ソース] ウィンドウで、データ ソースを右クリックし、[ウィザードで DataSet を構成] をクリックします。
列を追加するテーブルを展開します。
テーブルに追加する列を選択します。
[完了] をクリックします。
TableAdapter 構成ウィザードを使用して列を DataTable に追加するには
データセット デザイナーでデータセットを開きます。詳細については、「方法 : データセット デザイナーでデータセットを開く」を参照してください。
データ テーブルを右クリックし、[構成] をクリックします。
列を SELECT ステートメントに追加します。
[完了] をクリックします。
DataColumns の構成
DataColumn を追加した後、その DataColumn の動作を指定します。たとえば、データ型を変更するか、一意の値だけが含まれるようにデータ型を制限する場合があります。次の手順のどれかを使用して、DataColumn 動作を変更できます。
DataColumn のデータ型の設定
データ列 (DataColumn) は、String の既定のデータ型で作成されます。列のデータ型を変更するには、[プロパティ] ウィンドウの DataType プロパティを設定します。
DataColumn のデータ型を設定するには
データセット デザイナーでデータセットを開きます。
データ型を設定する列を選択します。
[プロパティ] ウィンドウで、DataType の一覧から必要なデータ型を選択します。
DataColumn のキャプションの指定
データ列は、ユーザー インターフェイスに表示するのに適していない名前が付けられている場合があります。[プロパティ] ウィンドウの Caption プロパティを設定すると、キャプションをより適切な名前に変更できます。
[!メモ]
[データ ソース] ウィンドウから Windows アプリケーションのフォームに項目をドラッグする場合は、特別な配慮が必要です。複数の単語が連結されているキャプション ラベルの列名は、より判読しやすい文字列に再編成されます。詳細については、「方法 : Visual Studio がデータ バインド コントロールのキャプションを作成する方法をカスタマイズする」を参照してください。
データ列のキャプションを編集するには
データセット デザイナーでデータセットを開きます。詳細については、「方法 : データセット デザイナーでデータセットを開く」を参照してください。
編集するキャプションがある列を選択します。
[プロパティ] ウィンドウで、Caption プロパティを設定します。
自動生成された番号が DataColumn に含まれることの指定
データ列 (DataColumn) には、主キー列、ID 列などのように、自動生成された連番が格納されることが多くあります。データ列に自動生成された番号を読み込むには、データ列のAutoIncrement、AutoIncrementSeed、および AutoIncrementStep の各プロパティを設定します。
Visual Studio デザイン ツールを使用してデータ列を作成すると、その列は自動的に AutoIncrement としてマークされます。ID 列を含むデータベースのテーブルを更新しても、自動番号付け機能で作成された値はデータベースに送信されません。
自動生成された番号を格納するデータ列を設定するには
データセット デザイナーでデータセットを開きます。
自動生成された番号を格納する列を選択します。
[プロパティ] ウィンドウで、次のプロパティを設定します。
プロパティ
設定
true
既定値 0 以外の値から始める場合は、開始番号をこの列に設定してください。
列の値は、新しい行に進むたびにこの値ずつ大きくなります。
[!メモ]
データ列を自動インクリメント値に設定しても、列は自動的に主キーに指定されません。
既定値の DataColumn への代入
データ列には、既定値を割り当てることができます。新しい行 (レコード) が作成されると、列内に既定値が割り当てられます。
既定値をデータ列に割り当てるには
データセット デザイナーでデータセットを開きます。
既定値に割り当てる列を選択します。
[プロパティ] ウィンドウで、DefaultValue プロパティを目的の既定値に設定します。
一意の値が格納されるように DataColumn を制約する
データ テーブルに UNIQUE 制約を追加して、一意の値が格納されるように DataColumn を設定します。UNIQUE 制約はキーとも呼ばれます。列にデータセット デザイナーの主キーとして指定すると、UNIQUE 制約を作成します
一意の値が格納されるように列を制約するには
データセット デザイナーでデータセットを開きます。
一意の値に制約する列を右クリックします。[追加] をポイントし、[キー] をクリックします。
[一意の制約] ダイアログ ボックスで、正しい列が選択されていることを確認します。
必要に応じて、制約の既定の名前を意味のわかりやすい名前に置き換えます。
DataTable の主キーとしての DataColumn の設定
データ列を主キーとして設定すると、各レコードに一意の値のみが格納されるようになります。1 つのデータ テーブルに対して 1 つの主キーだけを割り当てることができます。データセット デザイナーを使用して、データ テーブルに主キーを作成します。
データ テーブルの主キーとしてデータ列を設定するには
データセット デザイナーでデータセットを開きます。
主キーとして設定する列を右クリックします。[主キーの設定] をクリックします。
選択した列の横にキー アイコンが表示されます。
DataColumn の値が Null のときの戻り値の設定
型指定されたデータセットでは、null 値を含む列の表示を制御できます。この動作は、型指定されたアクセサーを通じて列の値を取得する場合にだけ有効です。テーブルの行インデックスまたは列インデックスを使用して値を取得する場合は、戻り値を設定できません。これは、この値を返すロジックが、生成されたデータセット クラスの特定のデータ列のプロパティ Set アクセス操作子に組み込まれているためです。
DataColumn の値が null のときに返す値を設定するには
データセット デザイナーでデータセットを開きます。
データ テーブルの列を選択します。
[プロパティ] ウィンドウで、NullValue プロパティを選択します。
次のいずれかの操作を行います。
ドロップダウン リストから適切な値を選択します。
値
説明
(Empty)
null 値 String.Empty が返ります。
(Nothing)
null 値が DBNull として返ります。
(Throw exception)
Null 値によって Exception がスローされます。
または
このプロパティに、その列のデータ型として有効なカスタム値を設定します。たとえば、データ型 String の列に文字列 No Value を指定すると、その列に null 値が含まれるレコードはすべて "No Value" を表示します。
DataColumn の構成による式の表示
データセット内のデータ テーブルには、データベースから値を読み込む代わりに値を計算する列を含めることができます。たとえば、注文の詳細レコードの ExtendedPrice 列を定義するときに、実際に合計をレコードに格納するよりも数量と価格の積を計算した方が合理的な場合があります。計算される列は、子レコードに値を加算したり、子レコード内の値の数を数えたり、ほかのレコードにフィルターをかけたりする場合にも使用できます。計算される列は、式を使用して定義できます。
式の構文は、標準の演算子で構成されます。SQL ステートメントのように列名を使用してデータ値を参照したり、Count などの集約関数を含めたりできます。
たとえば、現在のレコードの UnitPrice 列と Quantity 列の積に基づく ExtendedPrice 列の式は、単純に次のようになります。
UnitPrice * Quantity
子テーブルの列を参照するには、列の名前の前に予約語 Child を使用します。たとえば、次の式は、すべての関連する子レコード内の Price 列の平均値を返します。
Avg(Child.Price)
詳細については、Expression プロパティのトピックを参照してください。
データセット デザイナーで式列を作成できます。列の作成の詳細については、「方法 : DataTable に列を追加する」を参照してください。
データセット デザイナーで列式を作成するには
データセット デザイナーでデータセットを開きます。詳細については、「方法 : データセット デザイナーでデータセットを開く」を参照してください。
目的のデータ テーブルで、式を追加する列を選択するか、またはテーブルに新しい列を追加します。詳細については、「方法 : DataTable に列を追加する」を参照してください。
[プロパティ] ウィンドウで、Expression プロパティに式を入力します。
関連トピック
[カテゴリ] |
トピック |
---|---|
概要: Visual Studio のデータを使用する方法について詳しく学習します。 |
|
追加手順: データを使用するための他の手順について説明します。 |
|
リファレンス: データを操作する際に使用するクラスおよびメンバーについて説明します。 |