Csharp/C Sharp/Database ADO.net/Data Bind ListBox

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Binding database table to ListBox and TextBox, link ListBox and TextBox

<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;

   public class Form1 : System.Windows.Forms.Form {
     private System.Windows.Forms.ListBox listBox1;
     private System.Windows.Forms.TextBox textBox1;
     private System.Windows.Forms.TextBox textBox2;
     private System.Data.DataSet dataSet1;
     private System.ruponentModel.Container components = null;
     public Form1() {
       InitializeComponent();
     }
     private void InitializeComponent() {
        this.listBox1 = new System.Windows.Forms.ListBox();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.textBox2 = new System.Windows.Forms.TextBox();
        this.dataSet1 = new System.Data.DataSet();
        ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
        this.SuspendLayout();
        this.listBox1.Location = new System.Drawing.Point(8, 8);
        this.listBox1.Name = "listBox1";
        this.listBox1.Size = new System.Drawing.Size(232, 95);
        this.listBox1.TabIndex = 0;
        this.textBox1.Location = new System.Drawing.Point(8, 120);
        this.textBox1.Name = "textBox1";
        this.textBox1.TabIndex = 1;
        this.textBox1.Text = "textBox1";
        this.textBox2.Location = new System.Drawing.Point(8, 152);
        this.textBox2.Name = "textBox2";
        this.textBox2.TabIndex = 2;
        this.textBox2.Text = "textBox2";
        this.dataSet1.DataSetName = "NewDataSet";
        this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US");
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(256, 188);
        this.Controls.Add(this.textBox2);
        this.Controls.Add(this.textBox1);
        this.Controls.Add(this.listBox1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.Load += new System.EventHandler(this.Form1_Load);
        ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).EndInit();
        this.ResumeLayout(false);
     }
     static void Main() {
        Application.Run(new Form1());
     }
     private void Form1_Load(object sender, System.EventArgs e) {
        string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
 
        string sql = @"select firstname, lastname from employee ";
        SqlConnection conn = new SqlConnection(connString);
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(dataSet1, "employee");
        DataTable dt = dataSet1.Tables["employee"];
        listBox1.DataSource = dt;
        listBox1.DisplayMember = "firstname";
        textBox1.DataBindings.Add("text", dt, "firstname");
        textBox2.DataBindings.Add("text", dt, "lastname");
     }
   }


      </source>


Fill data from Database to ListBox

<source lang="csharp">

using System; using System.Diagnostics; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; public class Form1 : System.Windows.Forms.Form {

   SqlConnection cn = new SqlConnection("data source=.;database=biblio;uid=admin;pwd=pw");
   SqlDataAdapter da = new SqlDataAdapter();
   string strSQL = "Select Title, PubID from Titles";
   SqlCommand cmd;
   SqlDataReader Dr;
   System.Windows.Forms.Button Button1 = new System.Windows.Forms.Button();
   System.Windows.Forms.ListBox ListBox1  = new System.Windows.Forms.ListBox();
   System.Windows.Forms.TextBox TextBox1  = new System.Windows.Forms.TextBox();
   public Form1() {
       cmd = new SqlCommand(strSQL, cn);
       this.SuspendLayout();
       this.Button1.Location = new System.Drawing.Point(136, 248);
       this.Button1.Size = new System.Drawing.Size(144, 32);
       this.Button1.Text = "Get Data";
       this.Button1.Click += new System.EventHandler(this.Button1_Click);
       this.ListBox1.Location = new System.Drawing.Point(48, 64);
       this.ListBox1.Size = new System.Drawing.Size(312, 160);
       this.TextBox1.Location = new System.Drawing.Point(48, 24);
       this.TextBox1.Size = new System.Drawing.Size(328, 20);
       this.TextBox1.Text = "Hit";
       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
       this.ClientSize = new System.Drawing.Size(408, 293);
       this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                         this.Button1,
                                                                         this.ListBox1,
                                                                         this.TextBox1});
       this.ResumeLayout(false);
   }
   [STAThread]
   static void Main() {
       Application.Run(new Form1());
   }
   private void Button1_Click(object sender, System.EventArgs e) {
       cn.Open(); 
       cmd.rumandText = strSQL + """ + TextBox1.Text + "%"";
       Dr = cmd.ExecuteReader();
       ListBox1.Items.Clear(); 
       ListBox1.BeginUpdate();  
       while (Dr.Read()){
           ListBox1.Items.Add(Dr.GetString(0) + " - " + Dr.GetInt32(1).ToString());
       }
       ListBox1.EndUpdate();  
       Dr.Close();  
   }

}

</source>