2011-06-28 37 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列必须是主键(或者可能是唯一列),否则会不工作,不会给你任何错误,这有点奇怪。

相关问题