程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Gridview][UpdateCommand的寫法要點]

Gridview][UpdateCommand的寫法要點]

編輯:關於C#
 

GridView為我們浏覽更新數據提供了一個方便的途徑。我們只需要添加一個sqldatasouce控件和一個GridView,再為sqldatasource寫上正確的UpdateCommand語句就可以達到自動更新數據的目的。基本上無需手寫更新代碼:但在寫UpdateCommand語句時,需注意,updateCommand中各Sql更新參數的順序必須與頁面輸出數據的順序一致.

舉個例子:

若頁面元素順序如下:
<asp:BoundField DataField="id" HeaderText="紀錄號" ReadOnly="True" Visible="false" />
<asp:TemplateField HeaderText="公司名稱">
<ItemTemplate>
<asp:label ID="DisCompanyName" runat="server" Width="100" Text='<%# Eval("CompanyName") %>'></asp:label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtCompanyName" Width="100" Text='<%# Bind("CompanyName") %>' runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="公司地址">
<ItemTemplate>
<asp:label ID="DisCompanyAddress" Text='<%# Eval("CompanyAddress") %>' runat="server" Width="100"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtCompanyAddress" Text='<%# Bind("CompanyAddress") %>' runat="server" Width="100"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
則在寫SqlDataSource的updateCommand語句時應該寫成以下順序:
Update [***] Set CompanyName=@CompanyName,CompanyAddress=@CompanyAddress where id=@id
而不能寫成:
Update [***] Set CompanyAddress=@CompanyAddress,CompanyName=@CompanyName where id=@id

寫法2會造成將CompanyAddress的數據寫入CompanyName字段,而將CompanyName的數據寫入CompanyAddress的混亂.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved