2012-10-16 4 views
2

그리드보기를 사용하여 관리 페이지에서 내 웹 페이지에서 데이터베이스 (중요 뉴스)를 편집 할 수있게하려고합니다. 그러나 삭제를 클릭하면 페이지가 새로 고쳐지고 아무것도 삭제되지 않습니다. 나는 사람들이 sugested와 스칼라 변수 "@Content"를 선언해야이 오류
을 가지고 무엇을했다 ASP.Net 2.0Gridview 삭제 버튼이 작동하지 않습니다.

GRIDVIEW

<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> 

을 사용하고 있습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.Data.SqlClient.SqlException : "@Content"스칼라 변수를 선언해야합니다.

소스 오류 :

처리되지 않은 예외가 현재 웹 요청을 실행하는 동안 생성되었습니다. 예외의 출처와 위치에 관한 정보는 아래의 예외 스택 추적을 사용하여 식별 할 수 있습니다.

스택 추적 :

[SQLEXCEPTION (0x80131904). 스칼라 변수 "@Content"을 선언해야] System.Data.SqlClient.SqlConnection.OnError (SQLEXCEPTION 예외 부울 breakConnection) 1,953,274 시스템. System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) +194 (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392 System.Data.SqlC lient.SqlCommand.RunExecuteNonQueryTds (String methodName, Boolean async) +192 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult 결과, String methodName, 부울 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 , 부울은 원인을 분석합니다 .Validation, Stri 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 (부울 includeStagesBeforeAsyncPoint, 부울 includeStagesAfterAsyncPoint) +1565

답변

0

DataKeyNames = "Content"를 추가하십시오.

관련 문제