2

我正在尝试使我的网页能够使用网格视图从管理页面编辑数据库(ImportantNews)。但是,当我单击删除时,它只会刷新页面并且不会删除任何内容。我正在使用 ASP.Net 2.0

网格视图

<asp:GridView ID="GridView2" runat="server" 
  AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:CommandField ShowDeleteButton="True" />
        <asp:BoundField DataField="Title" HeaderText="Title" 
                    SortExpression="Title" />
        <asp:BoundField DataField="Content" HeaderText="Content"
                    SortExpression="Content" />
    </Columns>
</asp:GridView>
<br/>
<b>SqlDataSource</b>
<asp:SqlDataSource ID="SqlDataSource1" 
    runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
    SelectCommand="SELECT * FROM [ImportantNews]" 
     DeleteCommand="DELETE FROM [ImportantNews] WHERE [Content] = @Content AND [Title] = @Title">
    <DeleteParameters>
        <asp:Parameter Name="Title" Type="string"/>
        <asp:Parameter Name="Content" Type="string"/>
    </DeleteParameters>
  </asp:SqlDataSource>

我做了人们建议的事情并得到了这个错误
必须声明标量变量“@Content”。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:必须声明标量变量“@Content”。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SqlException (0x80131904): 必须声明标量变量“@Content”。] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1953274 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) ) +4849707 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392 System.Data.SqlClient .SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +192 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果, String methodName, Boolean sendToPipe) +317 System.Data.SqlClient.SqlCommand。ExecuteNonQuery() +137 System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand 命令,DataSourceOperation 操作) +386 System.Web.UI.WebControls.SqlDataSourceView.ExecuteDelete(IDictionary 键,IDictionary oldValues) +303 System.Web.UI .DataSourceView.Delete(IDictionary 键,IDictionary oldValues,DataSourceViewOperationCallback 回调) +89 System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +714 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e , Boolean CauseValidation, String validationGroup) +869 System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +207 System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) + 10 系统.Web.UI.页面。RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串 eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+175 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+1565

4

1 回答 1

0

尝试添加 DataKeyNames="Content"

于 2012-12-21T12:03:55.567 回答