无法使用存储过程动态填充数据网格视图

时间:2014-04-19 06:09:19

标签: c# sql .net winforms sql-server-2012

我正在使用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();
 }

3 个答案:

答案 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();

        }