删除后必须声明标量变量

问题描述

我有一个名为“shipments”的数据库表,我有连接到这个名为“sqldatasource”的表的sqldatasource和连接到这个sqldatasource的gridview。 这是sqldatasource代码

<asp:sqlDataSource ID="sqlDataSource1" runat="server" ConnectionString="connection" ProviderName="System.Data.sqlClient" SelectCommand="SELECT shipments.Id,shipments.exitTime AS [exit Time],shipments.arriveTime AS [arrive Time],citys.name AS [exit city name],shipments.exitAddress AS [exit address],citys_2.name AS [destination city],shipments.destAddress AS [destination address],shipments.weight,users.username AS [sender username],users.phoneNumber AS [sender phone number],receivers.name AS [receiver name],receivers.phoneNumber AS [receiver phone number],status.name AS status FROM receivers RIGHT OUTER JOIN shipments ON receivers.Id = shipments.reciever LEFT OUTER JOIN status ON shipments.status = status.Id LEFT OUTER JOIN citys AS citys_2 ON shipments.destCityID = citys_2.Id LEFT OUTER JOIN users ON shipments.sender = users.Id LEFT OUTER JOIN citys ON shipments.exitCityID = citys.Id" DeleteCommand="DELETE FROM shipments WHERE (shipments.Id = @Id)">
        <DeleteParameters>
            <asp:Parameter Name="Id" />
        </DeleteParameters>
    </asp:sqlDataSource> 

当我运行代码时,它会显示删除按钮,但是当我按下它时,它会将我重定向一个页面,上面写着:“必须声明标量变量“@Id”。 为什么它不起作用?

(select 推荐有很多'inner Joins',是否相关?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)