• ベストアンサー

データベース接続について

いま、C#を勉強しているものです。 とりあえずデータベースに接続するアプリを作りたいのですがよく分かりません。 ADO.NETに対する勉強不足なのですが・・・。 例えば、Accessのテーブル内容をFormのリストボックスに表示するような サンプルを頂けないでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nonchi
  • ベストアンサー率43% (16/37)
回答No.1

口で説明するのは難しいので、ソースを丸投げします。 デザイナを使ってフォームにリストボックス1つをいれただけのデザインです。 頑張ってください。 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb;  //MDBを使うときに使用します namespace WindowsApplication1 {  // Form1 の概要  public class Form1 : System.Windows.Forms.Form  {   private System.Windows.Forms.ListBox listBox1;   private System.ComponentModel.Container components = null;   public Form1()   {    InitializeComponent();   }   // 使用されているリソースに後処理を実行します。   protected override void Dispose( bool disposing )   {    if( disposing )    {     if (components != null)     {      components.Dispose();     }    }    base.Dispose( disposing );   }   #region Windows Form Designer generated code   // デザイナ サポートに必要なメソッド   private void InitializeComponent()   {    this.listBox1 = new System.Windows.Forms.ListBox();    this.SuspendLayout();        // listBox1    this.listBox1.ItemHeight = 12;    this.listBox1.Location = new System.Drawing.Point(9, 8);    this.listBox1.Name = "listBox1";    this.listBox1.Size = new System.Drawing.Size(269, 88);    this.listBox1.TabIndex = 0;    // Form1    this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);    this.ClientSize = new System.Drawing.Size(287, 106);    this.Controls.AddRange(new System.Windows.Forms.Control[] {                    this.listBox1});    this.Name = "Form1";    this.Text = "Form1";    this.Load += new System.EventHandler(this.Form1_Load);    this.ResumeLayout(false);   }   #endregion   // アプリケーションのメイン エントリ ポイント   [STAThread]   static void Main()   {    Application.Run(new Form1());   }      //フォームロード   private void Form1_Load(object sender, System.EventArgs e)   {    GetListItem();   }      //MDBへの接続(引数なしにしていますが、SELECTの条件に使うものなどをつけます)   private bool GetListItem()   {    try    {     OleDbConnection Conn = ADOConnectUserMDB();     OleDbCommand catCMD = Conn.CreateCommand();     catCMD.CommandText = "SELECT item FROM TABLE";     OleDbDataReader myReader = catCMD.ExecuteReader();     while (myReader.Read())     {      string wkItem = "";      if(!myReader.IsDBNull(0)) wkItem = myReader.GetString(0).Trim();      listBox1.Items.Add(wkItem);     }          myReader.Close();     Conn.Close();          return true;    }    catch    {     return false;    }   }      // ユーザMDBに接続   private OleDbConnection ADOConnectUserMDB()   {    try    {     OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\aaa.mdb");     Conn.Open();          return Conn;    }    catch    {     return null;    }   }  } }

macchan0626
質問者

お礼

回答ありがとうございます。 例を参考に頑張って見ますっ!

すると、全ての回答が全文表示されます。

関連するQ&A