将数据检索到Combobox中

时间:2013-02-19 21:49:12

标签: c# sql-server combobox textbox

这就是我form的样子,我的代码如下:

using System.Data.SqlClient;

namespace ProjectCSharpSQLserver
{
    public partial class Form1 : Form
    {
        SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=I:\ProjectCSharpSQLserver\ProjectCSharpSQLserver\CsSQL.mdf;Integrated Security=True;User Instance=True");
        SqlCommand cmd = new SqlCommand();
        DataTable dt = new DataTable();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            cn.Open();
            SqlDataAdapter sda = new SqlDataAdapter("insert into info (id, Name, phone, Address) Values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "')", cn);
            sda.Fill(dt);
            cn.Close();
        }
    }
}

我需要知道如何打开组合框,找到Id,选择一个,然后文本框由db中的数据填充,这样我就可以删除和更新数据了。

1 个答案:

答案 0 :(得分:1)

我找到了一个可以使用here的示例。

private void cb1_SelectedIndexChanged(object sender, EventArgs e)
{
   ComboBox cb = (ComboBox)sender;
   cn.Open();
   SqlDataAdapter sda = new SqlDataAdapter("Place your DELETE statement here", cn);
   sda.Fill(dt);
   cn.Close();
}

每次更改时,这将在combobox中运行所选语句。顺便说一句,当您运行SqlDataAdapter时,它将自动打开和关闭与数据库的连接,因此您 无法使用cn.Open() / cn.Close()。但这样做仍然是一个很好的习惯。

只是提醒您,一旦您对C#和ADO.NET更加熟悉,我会认真考虑使用parameterized queries