【发布时间】:2011-03-22 05:25:00
【问题描述】:
当我尝试从数据源网格视图中删除记录时出现错误。 给出错误消息。“必须声明标量变量“@regid”。” 我的删除查询“DELETE from tablename where reg_id=@regid”
请给我一些解决方案
谢谢 丘吉尔
【问题讨论】:
-
你是如何调用/使用查询的,需要看代码
标签: c# asp.net sql-server-2005
当我尝试从数据源网格视图中删除记录时出现错误。 给出错误消息。“必须声明标量变量“@regid”。” 我的删除查询“DELETE from tablename where reg_id=@regid”
请给我一些解决方案
谢谢 丘吉尔
【问题讨论】:
标签: c# asp.net sql-server-2005
您是否将参数添加到删除命令??
像这样添加:
<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>
【讨论】:
如果你的查询是在存储过程中,你必须声明一个变量来传递值
即
CREATE PROCEDURE usp_Delete
@regid INT
AS
DELETE from tablename where reg_id=@regid
但如果您的查询被硬编码到应用程序中,您可以像这样将变量连接到查询中
String sql = "DELETE from tablename where reg_id=" + regid.Text
【讨论】: