簡體   English   中英

在網格視圖中更新主鍵

[英]Update primary key in grid view

我目前正在為客戶開發基於 Web 的應用程序。 考慮到我應該創建一個允許他們更新 clientID(PK) 的函數的要求。 我打算使用 gridview 使其更容易。 但是,我真的不知道如何使主鍵字段可以更新。

在我的客戶端表中,我有:clientID(PK)、clientName、clientAddress 等。

如果有人能告訴我怎么做,我將不勝感激。 提前致謝。

主鍵是您不希望更新的東西,因為它將破壞外鍵引用。 如果客戶端需要一個需要更改的ID,則只需將其作為表中的另一個字段而不是主鍵即可。

這有效:

Protected Sub GridView1_rowupdating(sender As Object, e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating
    e.NewValues("id2")=e.NewValues("id")
End Sub

<asp:GridView ID="GridView1" DataSourceID="ds_myTable" DataKeyNames="id" Runat="Server">
<columns>
    <asp:CommandField ShowEditButton="True" HeaderStyle-Width="100px"/> 
    <asp:BoundField DataField="id" HeaderText="Id" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" /> 
    <asp:BoundField DataField="someField" HeaderText="someField" />     
</columns>
</asp:GridView>

<asp:SqlDataSource id="ds_myTable"
    ConnectionString="<%$ connectionStrings: ... %>"
    ProviderName="<%$ ConnectionStrings: ... %>"  
    SelectCommand="SELECT * from myTable Order By id;"
    UpdateCommand= "UPDATE myTable SET id=@id2,someField=@someField WHERE id=@id"
    runat="Server">
<UpdateParameters>
    <asp:Parameter Name="someField" Type="String" />
    <asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM