2017-05-12 11 views
0

VisualStudio에서 그래픽 인터페이스를 사용하여 자체적으로 업데이트하려고하지만 내 업데이트가 작동하지 않습니다.ASP sqlDataSource에 자체 업데이트 문 작성

내가 쿼리 빌더에서 테스트 할 때 모든 것이 작동하지만 업데이트가 그리드에 추가 된 후 웹 페이지를 실행할 때 업데이트가 없으므로 이전 상태로 복원됩니다.

Params("ID,IsCompleted")이 GridView의 속성에 DataKeyNames에 추가됩니다. 불행히도 그래픽 인터페이스를 사용하는 솔루션을 찾을 수 없습니다.

enter image description here

답변

0

은 SqlDataSource와의 않는다면, onUpdated 이벤트, AffectedRows 값을 확인 구독.
심판 MSDN SqlDataSource.UpdateCommand
코드

private void OnDSUpdatedHandler(Object source, SqlDataSourceStatusEventArgs e) { 
    if (e.AffectedRows > 0) { 
     // Perform any additional processing, 
     // such as setting a status label after the operation. 
     Label1.Text = Request.LogonUserIdentity.Name + 
      " changed user information successfully!";  
    } 
    else { 
     Label1.Text = "No data updated!"; 
    } 
} 

영문

<asp:SqlDataSource 
    id="SqlDataSource1" 
    runat="server" 
    DataSourceMode="DataSet" 
    ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" 
    SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees" 
    UpdateCommand="Update Employees SET [email protected],[email protected],[email protected] WHERE [email protected]" 
    OnUpdated="OnDSUpdatedHandler"> 
</asp:SqlDataSource> 

<asp:GridView 
    id="GridView1" 
    runat="server" 
    AutoGenerateColumns="False" 
    DataKeyNames="EmployeeID" 
    AutoGenerateEditButton="True" 
    DataSourceID="SqlDataSource1"> 
    <columns> 
     <asp:BoundField HeaderText="First Name" DataField="FirstName" /> 
     <asp:BoundField HeaderText="Last Name" DataField="LastName" /> 
     <asp:BoundField HeaderText="Title" DataField="Title" /> 
    </columns> 
</asp:GridView> 

<asp:Label 
    id="Label1" 
    runat="server"> 
</asp:Label> 

다른 심판 불행하게도 SqlDataSourceView.OnUpdating

+0

, 내가 라벨에서 정보를 수신은 "서버 이름/사용자가 성공적으로 사용자 정보를 변경!" 여전히 데이터베이스의 레코드는 변경하지 않았습니다. – Robert

+0

SQL 프로파일 러를 사용하여 sql을 보거나 web.config에서 ConnectionString name MyNorthwind를 확인할 수 있습니다. – Rainmaker