首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Hxj.Data 新增操作:Insert 實體插入、自動取回自增值、EntityUtils.UpdateModel 頁面繫結

     編輯:關於ASP.NET

Insert 四大多載,核心只有一個邏輯

基本插入:實體實例

Products p = new Products();
p.ProductName = "New Product";
p.UnitPrice = 100;
// ... 設定其他屬性
int newId = DbSession.Default.Insert(p);
// newId 為自增主鍵值(Identity/Sequence)
// p.ProductID 同步被設定為 newId

頁面繫結輔助:EntityUtils.UpdateModel

ASPX 命名慣例:txt_屬性名(如 txt_ProductName、txt_UnitPrice)。

protected void Button1_Click(object sender, EventArgs e) {
    Products p = new Products();
    // p.Attach(); // 可選:開啟後僅插入有賦值的欄位
    EntityUtils.UpdateModel(p, "txt_"); // 一行讀取所有 txt_* 控制項
    int returnValue = DbSession.Default.Insert(p);

    gridView.DataSource = DbSession.Default.From()
                                .Where(Products._.ProductID == returnValue).ToList();
    gridView.DataBind();
}

ASPX 表單範例

<form id="form1" runat="server">
    _ProductName<asp:TextBox ID="txt_ProductName" runat="server" /><br />
    _SupplierID<asp:TextBox ID="txt_SupplierID" runat="server" /><br />
    _CategoryID<asp:TextBox ID="txt_CategoryID" runat="server" /><br />
    _QuantityPerUnit<asp:TextBox ID="txt_QuantityPerUnit" runat="server" /><br />
    _UnitPrice<asp:TextBox ID="txt_UnitPrice" runat="server" /><br />
    _UnitsInStock<asp:TextBox ID="txt_UnitsInStock" runat="server" /><br />
    _UnitsOnOrder<asp:TextBox ID="txt_UnitsOnOrder" runat="server" /><br />
    _ReorderLevel<asp:TextBox ID="txt_ReorderLevel" runat="server" /><br />
    _Discontinued<asp:CheckBox ID="txt_Discontinued" runat="server" /><br />
    <asp:Button ID="Button1" Text="提交Insert" OnClick="Button1_Click" />
    <asp:GridView ID="gridView" runat="server" />
</form>

Insert 回傳值規則

  • 有自增主鍵:回傳新主鍵值(int/long/Guid 等),實體主鍵屬性同步更新。
  • 無自增主鍵:回傳受影響列數(通常為 1)。
  • 批次插入見 DbBatch(第 18 篇)。

Attach() 選項效果

  • 未呼叫 Attach():所有屬性(含 null/預設值)皆包含在 INSERT 陳述句。
  • 呼叫 Attach():僅包含**實際被賦值**的屬性,資料庫預設值生效,適合「部分欄位由資料庫預設值填充」場景。

Insert + EntityUtils.UpdateModel 讓 ASP.NET WebForms 新增頁面開發極度精簡,零手工參數綁定、自動取回自增鍵、型別安全全程保障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved