无法删除数据网格视图中的记录

时间:2011-03-22 05:25:01

标签: c# asp.net sql-server-2005

当我试图从数据源网格视图中删除记录时,

错误即将发生。 错误信息正在给出。“必须声明标量变量”@regid“。” 我的删除查询“从表名中删除reg_id = @ regid”

请给我一些解决方案

感谢 丘吉尔

2 个答案:

答案 0 :(得分:0)

您是否将参数添加到删除命令?? 像这样添加:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="reg_id" CellPadding="4"
DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" Style="z-index: 100;
left: 0px; position: absolute; top: 0px">
<DeleteParameters>
<asp:Parameter Name="@regid" Type="int32" />
</DeleteParameters>
</asp:GridView>

答案 1 :(得分:0)

如果您的查询在存储过程中,则必须声明一个变量以传递值

CREATE PROCEDURE usp_Delete
   @regid INT
AS

DELETE from tablename where reg_id=@regid

但是,如果您的查询是硬编码到应用程序,您可以将变量连接到查询,如下所示

String sql = "DELETE from tablename where reg_id=" + regid.Text