2011-06-28 36 views
0

我正在使用Datagrid和SQLDataSource綁定來自一個表的數據。爲了啓用更新,我寫了更新查詢,我這樣做是錯誤的。datagrid更新命令不起作用?我錯過了什麼嗎?

update mytable [email protected], [email protected] where [email protected] 

當我點擊編輯,我進入編輯模式。當我提交更改時,更改不會提交,也不會出現錯誤。我需要改變別的地方嗎?本例中我沒有修改任何C#代碼。

編輯: 如果我忽略ID = @ ID的位置,那麼整個列已成功更改,但它不適用於ID = @ ID。這裏有什麼問題?

編輯:代碼

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
     SelectCommand="SELECT [my_id], [ID], [FirstName], [LastName], [ApplicationUserName] FROM [member_tbl]" 

     UpdateCommand="UPDATE [member_tbl] SET [my_id] = @my_id, [FirstName] = @FirstName, [LastName] = @LastName, [ApplicationUserName] = @ApplicationUserName where ID = @ID"> 
     <UpdateParameters> 
      <asp:Parameter Name="my_id" Type="Int32"/> 
      <asp:Parameter Name="FirstName" /> 
      <asp:Parameter Name="LastName" /> 
      <asp:Parameter Name="ApplicationUserName" /> 
      <asp:Parameter Name="id" /> 
     </UpdateParameters> 
    </asp:SqlDataSource> 
+0

代碼張貼在文章 –

+0

@Bala,我實際上改名爲這個職位的一些領域。問題在於ID = @ ID,我不知道什麼是正確的sytanx。 –

+0

一切看起來不錯;不知道爲什麼它不起作用。你有沒有嘗試包括類型的所有參數? –

回答

0

回答自己:我發現,爲了這個工作,ID列必須是主鍵(或者可能是唯一列),否則會不工作,不會給你任何錯誤,這有點奇怪。

相關問題