使用存储过程将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。有人知道我哪里出错了吗?
谢谢
尝试在第二个参数中传递conn:-
SqlDataAdapter oAdapter = new SqlDataAdapter(selectcmd,conn);
您应该检查以下两点:
- 首先需要检查存储过程是否返回数据与否。
- 检查如何绑定DataSet到DataGridView。