MESCIUS InputMan for Windows Forms 12.0J
データベース接続

コンボコントロールをデータベースに接続するには、通常、次の2つの手順が必要です。

  1. データベースに接続してデータセットを作成する。
  2. データセットをコントロールに接続する。

データセットを作成する方法には、設計時にVisual Studioのデータ ソース構成ウィザードを利用する方法と、コードで作成する方法の2種類があります。以下では、次の項目に分けてデータベースに接続する方法を解説します。なお、接続するデータベースは、製品に付属しているSample.mdbを前提にしています。

コンボコントロールでデータ接続をサポートしているのは、Textプロパティだけです。
コンボコントロールのリストボックスの項目にデータ接続する方法は、「DataSourceプロパティを使用して項目を設定する」を参照してください。


データ ソース構成ウィザードによる接続

プロジェクトにデータソースを追加する

データ ソース構築ウィザードを使用してプロジェクトにデータソースを追加します。

  1. [プロジェクト]または[データ]メニューの[新しいデータ ソースの追加(N)]を選択します。
  2. 「データ ソース構成ウィザード」が起動したら「データベース」を選択して〈次へ〉ボタンをクリックします。
  3. 「データベース モデルの選択」画面で「データセット」を選択しして〈次へ〉ボタンをクリックします。
  4. 「データ接続の選択」画面で〈新しい接続〉ボタンをクリックします。
  5. 「接続の追加」ダイアログで、次のように選択し〈テスト接続〉ボタンを押下して接続を確認します。
    • データ ソース: Microsoft Access データベース ファイル
    • データベース ファイル名: Sample.mdb
  6. 〈OK〉ボタンをクリックします。
  7. 「データ接続の選択」画面で〈次へ〉ボタンをクリックします。
  8. プロジェクトへデータファイルをコピーするかどうかを確認するメッセージボックスが表示されたら〈はい〉をクリックします。
  9. 「接続文字列をアプリケーション構成ファイルに保存する」画面で〈次へ〉ボタンをクリックします。
  10. 「データベース オブジェクトの選択」画面で、「データセット内に指定するデータベース オブジェクト」から「コンボ」テーブルのチェックをONに設定し、[完了]ボタンをクリックします。

コントロールに接続する

コンボコントロールのTextプロパティに「コンボ」テーブルの「Display」フィールドを接続します。

  1. フォームにコンボコントロール(GcComboBox1)を貼り付けます。
  2. コンボコントロールを選択しプロパティウィンドウを開きます。
  3. (DataBindings) の Text プロパティのドロップダウンウィンドウを開きます。
  4. 「Display」を選択することで、Textプロパティが「Display」フィールドに接続されます。

データ ソースウィンドウからドラッグ&ドロップする(Drag Once 接続)

前項のようにプロパティを設定するほかに、データソースウィンドウからドラッグ&ドロップして簡単にデータに接続したコントロールを貼り付けることもできます。

  1. 「データソース」ウィンドウを開き「コンボ」テーブルが追加されたことを確認します。
  2. 「コンボ」-「Display」のドロップダウンメニューから [GcComboBox] を選択します。[GcComboBox] がメニューに表示されない場合、[カスタマイズ] で表示されるダイアログで「GcComboBox」を有効にします。
  3. 「データソース」ウィンドウから「Display」をフォームにドラッグ&ドロップします。
  4. 「Display」フィールドに接続したコンボコントロールがフォームに貼り付けられます。
コーディングによる接続

データセットを作成する

データセットを作成する前に、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 Display 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 Display FROM [コンボ]", aConn);
private DataSet aDS = new DataSet();

データセットをコントロールに接続する

データセット(aDS)をコンボコントロールに接続する前に、aDSにテーブルを格納しておく必要があります。最初のコードは、そのためのものです。次に、データセットのaDSをコンボコントロールのDataBindingsプロパティに設定します。

DataBindingsプロパティが参照するControlBindingsCollectionオブジェクトのAddメソッドの引数には、次のように設定します。

第1引数:データをバインドするプロパティ名(文字列型)
第2引数:対象となるデータセット
第3引数:データをバインドするテーブルと列名(文字列型)
aDA.Fill(aDS, "コンボ")
GcComboBox1.DataBindings.Add("Text", aDS, "コンボ.Display", True)
aDA.Fill(aDS, "コンボ");
gcComboBox1.DataBindings.Add("Text", aDS, "コンボ.Display", true);
関連トピック

 

 


© MESCIUS inc. All rights reserved.