C# 使用存储过程将SQL结果输出到gridview不绑定
继我的上一个问题之后,我现在有了一个基本应用程序,它在提供3个变量并单击按钮后更新了我的SQL Server 2008 R2数据库中的一条记录 现在我想添加一个功能,一旦记录被更新,它就会将结果显示到我添加到表单的gridview中。命名为C# 使用存储过程将SQL结果输出到gridview不绑定,c#,.net,sql,sql-server-2008,stored-procedures,C#,.net,Sql,Sql Server 2008,Stored Procedures,继我的上一个问题之后,我现在有了一个基本应用程序,它在提供3个变量并单击按钮后更新了我的SQL Server 2008 R2数据库中的一条记录 现在我想添加一个功能,一旦记录被更新,它就会将结果显示到我添加到表单的gridview中。命名为gridSelectID。我在db级别有一个名为viewclassdata的基本存储过程,它将@ID作为参数,并返回仅与此相关的行 关于C#我目前得到的是: //execute the command 'cmd', the profile class will
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()
,因为它抛出了一个错误,我后来读到win表单不需要DatBind()
方法
我已经在调试模式下运行,尽管程序仍然完美地更新了数据库,但它并没有像我希望的那样将新更新的信息输出到我的gridview。有人能看出我哪里做错了吗
谢谢尝试在第二个参数中传递conn,如下所示:-
SqlDataAdapter oAdapter = new SqlDataAdapter(selectcmd,conn);
你应该检查两件事:
您所说的“它没有像我所希望的那样将新信息输出到我的gridview”是什么意思?有没有可能更具体一点?我的意思是你看不到的代码正在按照我的意愿更新记录,但是一旦记录被更新,上面的代码就不会返回新行。事实上,这并没有带来任何回报。我想你已经用sql中的th ID运行了这个过程,并返回了结果?同时检查ds中是否有表是的SP带回了我在SSMS中所期望的,是的ds有所有表,SP的listedTry gridSelectID.DataSource=ds.Tables[indextableyouwant2show];这没有什么意义。指挥部正在把它交给指挥部。我的意思是这是一样的。