我正在使用C#win表单和SQL Server 2012编写程序。在我的一个表单中,我有一个组合框按钮和一个数据网格视图。我希望每次更改组合框中的值时都会填充数据网格视图。
此代码不起作用:((它不会返回错误)
private void button1_Click(object sender, EventArgs e)
{
int id = Convert.ToInt32(comboBox2.SelectedValue.ToString());
//int idc = 100;
DataSet ptDataset = new DataSet();
string con = ConfigurationManager.ConnectionStrings["secaloFormulaCS"].ToString();
SqlConnection sqlCon = new SqlConnection(con);
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("spDispProductInfo", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@id", id);
sqlCmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
da.Fill(ptDataset);
dataGridView2.DataSource = ptDataset;
sqlCon.Close();
}
答案 0 :(得分:2)
试试这个。
int id = Convert.ToInt32(comboBox2.SelectedValue.ToString());
//int idc = 100;
DataSet ptDataset = new DataSet();
string con = ConfigurationManager.ConnectionStrings["secaloFormulaCS"].ToString();
SqlConnection sqlCon = new SqlConnection(con);
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("spDispProductInfo", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@id", id);
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
da.Fill(ptDataset);
dataGridView2.DataSource = ptDataset.Tables[0];
sqlCon.Close();
答案 1 :(得分:0)
您必须使用组合框clik
的事件而不是按钮。
只是尝试将此button1_click
事件添加到您拥有的组合框中。
答案 2 :(得分:0)
在您的comboBox的SelectedIndexChanged
事件中设置您的代码
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
DataSet ptDataset = new DataSet();
string con = ConfigurationManager.ConnectionStrings["secaloFormulaCS"].ToString();
SqlConnection sqlCon = new SqlConnection(con);
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand("spDispProductInfo", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@id", Convert.ToInt32(comboBox2.SelectedValue.ToString()));
sqlCmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
da.Fill(ptDataset);
dataGridView2.DataSource = ptDataset;
sqlCon.Close();
}