C# 无法使用存储过程动态填充数据网格视图
我正在用C#win表单和SQLServer2012编写一个程序。在我的一个表单中,我有一个组合框、一个按钮和一个datagrid视图。我希望每次更改组合框中的值时都填充数据网格视图 此代码不工作:((不返回错误)C# 无法使用存储过程动态填充数据网格视图,c#,sql,.net,winforms,sql-server-2012,C#,Sql,.net,Winforms,Sql Server 2012,我正在用C#win表单和SQLServer2012编写一个程序。在我的一个表单中,我有一个组合框、一个按钮和一个datagrid视图。我希望每次更改组合框中的值时都填充数据网格视图 此代码不工作:((不返回错误) 您必须使用组合框的事件clik而不是按钮。 只需尝试将此按钮1\u单击事件添加到您拥有的组合框中。在组合框的SelectedIndexChanged事件中设置代码 private void comboBox2_SelectedIndexChanged(object sender, Ev
您必须使用组合框的事件
clik
而不是按钮。
只需尝试将此
按钮1\u单击
事件添加到您拥有的组合框中。在组合框的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();
}
试试这个
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();
确保仅在
(!Page.IsPostBack)
条件上绑定组合框如果确实只需要一个DataTable
-为什么要使用DataSet
,然后引用ptDataset.Tables[0]
?只需从一开始就使用DataTable
?开销要少得多!
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();