2

グリッド ビューを使用して、管理ページから Web ページでデータベース (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 例外、Boolean breakConnection) +1953274 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 例外、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 result, 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 行、Int32 行インデックス) +714 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e 、ブール値の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 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

4

1 に答える 1

0

DataKeyNames="Content" を追加してみてください

于 2012-12-21T12:03:55.567 に答える