0

继上一个问题之后,我现在有一个基本应用程序,它在提供 3 个变量并单击按钮后更新了我的 SQL Server 2008 R2 数据库中的记录。

我现在希望添加一个功能,一旦记录更新,它就会将结果显示到我添加到表单中的网格视图中。名为gridSelectID. 我有一个以viewclassdata数据库级别命名的基本存储过程,它@ID作为参数并带回仅与此相关的行。

就 C# Heres 而言,到目前为止我所拥有的:

//execute the command 'cmd', the profile class will now be updated at db level
                cmd.ExecuteNonQuery();

                //Once the Profile Class change has been committed, show the results in the gridview
                var selectcmd = new SqlCommand("dbo.viewclassdata", conn);
                selectcmd.CommandType = CommandType.StoredProcedure;
                selectcmd.Parameters.AddWithValue("@ID", ID);
                SqlDataAdapter oAdapter = new SqlDataAdapter(selectcmd);
                DataSet ds = new DataSet();
                oAdapter.Fill(ds);
                gridSelectID.DataSource = ds;
                //gridSelectID.DataBind();

我不得不注释掉,gridSelectID.DataBind()因为它抛出了一个错误,我从那以后读到该DatBind()方法不需要用于 win 表单。

我已经在调试模式下运行,虽然程序仍然完美地更新了数据库,但它并没有像我想要的那样将新更新的信息输出到我的 gridview。谁能看到我哪里出错了?

谢谢

4

2 回答 2

0

尝试像这样在第二个参数中传递 conn:-

SqlDataAdapter oAdapter = new SqlDataAdapter(selectcmd,conn);
于 2013-06-18T09:43:46.960 回答
0

你应该检查两件事:

  1. 首先,您需要检查您的存储过程是否正在返回数据。
  2. 检查如何将 DataSet 绑定到 DataGridView
于 2013-06-18T10:02:03.027 回答