データセットを作成する方法には、設計時にVisual Studioのデータソース構成ウィーザードを利用する方法と、コードで作成する方法の2種類があります。以下では、次の項目に分けてデータベースに接続する方法を解説します。なお、接続するデータベースは、製品に付属しているSample.mdbを前提にしています。
プロジェクトにデータソースを追加する
データ ソース構築ウィザードを使用してプロジェクトにデータソースを追加します。
- [プロジェクト]または[データ]メニューの[新しいデータ ソースの追加(N)]を選択します。
- 「データ ソース構成ウィザード」が起動したら「データベース」を選択して〈次へ〉ボタンをクリックします。
- 「データベース モデルの選択」画面で「データセット」を選択しして〈次へ〉ボタンをクリックします。
- 「データ接続の選択」画面で〈新しい接続〉ボタンをクリックします。
- 「接続の追加」ダイアログで、次のように選択し〈テスト接続〉ボタンを押下して接続を確認します。
- データ ソース: Microsoft Access データベース ファイル
- データベース ファイル名: Sample.mdb
- 〈OK〉ボタンをクリックします。
- 「データ接続の選択」画面で〈次へ〉ボタンをクリックします。
- プロジェクトへデータファイルをコピーするかどうかを確認するメッセージボックスが表示されたら〈はい〉をクリックします。
- 「接続文字列をアプリケーション構成ファイルに保存する」画面で〈次へ〉ボタンをクリックします。
- 「データベース オブジェクトの選択」画面で、「データセット内に指定するデータベース オブジェクト」から「メール」テーブルをチェックオンし、〈完了〉ボタンをクリックします。
コントロールに接続する
日付時刻コントロールのValueプロパティに「メール」テーブルの「受信日時」フィールドを接続します。
- フォームに日付時刻コントロール(GcDateTime1)を貼り付けます。
- 日付時刻コントロールを選択しプロパティウィンドウを開きます。
- (DataBindings) の Value プロパティのドロップダウンウィンドウを開きます。
- 「受信日時」を選択することで、Valueプロパティが「受信日時」フィールドに接続されます。
データ ソースウィンドウからドラッグ&ドロップする(Drag Once 接続)
前項のようにプロパティを設定するほかに、データソースウィンドウからドラッグ&ドロップして簡単にデータに接続したコントロールを貼り付けることもできます。
- 「データソース」ウィンドウを開き「メール」テーブルが追加されたことを確認します。
- 「メール」-「受信日時」のドロップダウンメニューから [GcDateTime] を選択します。[GcDateTime] がメニューに表示されない場合、[カスタマイズ] で表示されるダイアログで「GcDateTime」を有効にします。
- 「データソース」ウィンドウから「受信日時」をフォームにドラッグ&ドロップします。
- 「受信日時」フィールドに接続した日付時刻コントロールがフォームに貼り付けられます。
データセットを作成する
データセットを作成する前に、OleDbConnectionとOleDbDataAdapterの各オブジェクトを生成しておく必要があります。また、データベースのフルパスは、環境に合わせて設定し直してください。
Imports System.Data.OleDb
Friend aConn As OleDbConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" _
+ "Data Source= C:\Program Files\InputManWin8\Data\Sample.mdb;")
Friend aDA As OleDbDataAdapter = New OleDbDataAdapter( _
"SELECT 受信日時 FROM [メール]", aConn)
Friend aDS As DataSet = New DataSet()
using System.Data.OleDb;
private OleDbConnection aConn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source= C:\\Program Files\\InputManWin8\\Data\\Sample.mdb;");
private OleDbDataAdapter aDA = new OleDbDataAdapter(
"SELECT 受信日時 FROM [メール]", aConn);
private DataSet aDS = new DataSet();
データセットをコントロールに接続する
データセット(aDS)を日付時刻コントロールに接続する前に、aDSにテーブルを格納しておく必要があります。最初のコードは、そのためのものです。次に、データセットのaDSを日付時刻コントロールのDataBindingsプロパティに設定します。
DataBindingsプロパティが参照するControlBindingsCollectionオブジェクトのAddメソッドの引数には、次のように設定します。
第1引数:データをバインドするプロパティ名(文字列型)
第2引数:対象となるデータセット
第3引数:データをバインドするテーブルと列名(文字列型)
aDA.Fill(aDS, "メール")
GcDateTime1.DataBindings.Add("Value", aDS, "メール.受信日時", True)
aDA.Fill(aDS, "メール");
gcDateTime1.DataBindings.Add("Value", aDS, "メール.受信日時", true);