使用存储过程将SQL结果输出到gridview不是绑定的

本文关键字:gridview 绑定 输出 存储过程 SQL 结果 | 更新日期: 2023-09-27 18:18:47

从我之前的问题,我现在有一个基本的应用程序,更新了我的SQL Server 2008 R2数据库中的记录提供3个变量和点击一个按钮。

我现在希望添加一个功能,即一旦记录被更新,它将结果显示到我添加到表单中的gridview。命名为gridSelectID。我在db级有一个名为viewclassdata的基本存储过程,它将@ID作为参数,并带回仅与此相关的行。

在c#方面,这是我到目前为止所得到的:

//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。有人知道我哪里出错了吗?

谢谢

使用存储过程将SQL结果输出到gridview不是绑定的

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

SqlDataAdapter oAdapter = new SqlDataAdapter(selectcmd,conn);

您应该检查以下两点:

  1. 首先需要检查存储过程是否返回数据与否。
  2. 检查如何绑定DataSet到DataGridView。