根据ComboBox下拉的值查询数据库表中的内容并显示在DataGridView中
1、在form窗体中添加一个ComboBox和一个DataGridView控件
2、编辑ComboBox的值
3、执行查询语句并将结果给DataGridView的DataSource
4、通过在ComboBox的SelectedIndexChanged事件就能做到查询并显示
代码如下:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//txt得到下拉列表的值
string txt = this.comboBox1.Text;
sqlOpr sqlopr = new sqlOpr();
//从数据库中fast查询对应的数据集ds放到bindingsource中
DataSet ds = sqlopr.backds("fast", "select * from pass where leixing='"+ txt +"' order by keys asc");
if(ds == null)
{
return;
}
BindingSource bs = new BindingSource();
bs.DataSource = ds.Tables[0];
this.dataGridView1.DataSource = bs;
}
封装的sqlOpr类的backds方法返回一个dataset数据集,代码如下:
public DataSet backds(string sqlname, string sqloprstr)
{
try
{
connstr = "server=" + server + ";uid=" + user + ";pwd=" + pwd + ";database=" + sqlname + "";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sqloprstr, conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
//conn.Close();SqlDataAdapte有自动打开和关闭的功能
}
catch
{
return null
}
}