MyGeneration:dOOdad提供的資料繫結、特殊函式和事務處理
1. 資料繫結:
(1) 繫結到DataGrid(WebApp)
...{
dvEmps = emps.DefaultView;
dgEmps.DataSource = dvEmps;
dgEmps.DataBind();
}
(2) 繫結到ComboBox(WinApp)
emps.Query.AddResultColumn(Employees.ColumnNames.EmployeeID);
emps.Query.AddResultColumn(Employees.ColumnNames.LastName);
emps.Query.AddOrderBy(Employees.ColumnNames.LastName,
WhereParameter.Dir.ASC);
emps.Query.Load();
//bind to combobox
cmbEmployees.DisplayMember = Employees.ColumnNames.LastName;
cmbEmployees.ValueMember = Employees.ColumnNames.EmployeeID;
cmbEmployees.Datasource = emps.DefaultView;
(3) 繫結到DropDownList(WebApp)
emps.Query.AddResultColumn(Employees.ColumnNames.EmployeeID);
emps.Query.AddResultColumn(Employees.ColumnNames.LastName);
emps.Query.AddOrderBy(Employees.ColumnNames.LastName,
WhereParameter.Dir.ASC);
emps.Query.Load();
//bind to drop-down list
ddlEmployees.Datasource = emps.DefaultView;
ddlEmployees.DataTextField = Employees.ColumnNames.LastName;
ddlEmployees.DataValueField = Employees.ColumnNames.EmployeeID;
ddlEmployees.Databind();
2. 特殊函式:執行自定義儲存過程和SQL語句
Examples:
(1)LoadFromSql: (從資料庫中檢索並返回檢索結果集,查詢結果儲存到DataTable中)
Parms.Add("@parameterName1", value1);
Parms.Add("@parameterName2", value2);
parms.Add……
if(this.LoadFromSql("proc_GetSpecialEmployee", Parms))
...{
...
}
(2)LoadFromSqlNoExec: (執行無結果集的儲存過程,返回受影響的行數)
int NbrOfChecks = this.LoadFromSqlNoExec("proc_CalculatePayroll");
例如:刪除一條記錄,dOOdad提供的文件中的方法是:先LoadByPrimaryKey,再MarkAsDeleted,最後再Save進資料庫;這個過程要對資料庫進行兩次操作。實際上,我們可以只操作一次資料庫(直接用dOOdads模板生成的儲存過程),而不用先Load。
ListDictionary Parms = new ListDictionary();
Parms.Add("@ID", empID);
int effectLine = this.LoadFromSqlNoExec("proc_EmployeeDelete",Parms);
(3)LoadFromSqlReader:(返回SqlDataReader)
SqlDataReader rdr = this.LoadFromSqlReader("proc_GetSpecialEmployee", Parms) as SqlDataReader;
(4)LoadFromSqlScalar:(返回單個值)
DateTime EarliestHireDate;
ListDictionary Parms = new ListDictionary();
Parms.Add("@Active", 1);
EarliestHireDate = Convert.ToDateTime(this.LoadFromSqlScalar("GetEarliestHireDate",Parms));
(5)LoadFromRawSql:
this.LoadFromRawSql("SELECT MIN(EM_HireDate) FROM tEmployees WHERE EM_Active = {0}","1");
3. 事務處理:
try
...{
Employees emps = new Employees();
emps.AddNew();
emps.FirstName = "Jimmy";
emps.LastName = "Doe";
Products prds = new Products();
prds.AddNew();
prds.ProductName = " Lunch Box ";
prds.Discontinued = false;
tx.BeginTransaction();
emps.Save();
prds.Save();
tx.CommitTransaction();
}
catch(Exception ex)
...{
tx.RollbackTransaction();
TransactionMgr.ThreadTransactionMgrReset();
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-364717/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MyGeneration:使用dOOdad提供的通用操作
- echarts 繫結事件處理函式Echarts事件函式
- uni-app入門教程(3)資料繫結、樣式繫結和事件處理APP事件
- 分散式事務處理方案,微服事務處理方案分散式
- Springboot資料庫事務處理——Spring宣告式事務Spring Boot資料庫
- javascript事件處理函式繫結簡單介紹JavaScript事件函式
- MySQL-日期和資料處理函式MySql函式
- 有關分散式資料庫事務處理的問題分散式資料庫
- ORACLE資料庫事務處理和故障恢復Oracle資料庫
- js如何給繫結的事件處理函式傳遞引數JS事件函式
- Laravel 分散式事務處理Laravel分散式
- 分散式事務故障處理分散式
- 關於資料庫事務併發的理解和處理資料庫
- 批次繫結加快資料處理測試
- javascript封裝相容所有瀏覽器的繫結和刪除事件處理函式JavaScript封裝瀏覽器事件函式
- 封裝javascript事件處理函式繫結和解綁程式碼封裝JavaScript事件函式
- 跨瀏覽器的事件處理函式繫結刪除封裝瀏覽器事件函式封裝
- javascript事件處理函式迴圈批量繫結簡單介紹JavaScript事件函式
- 支撐微信支付的資料庫如何提供超300萬TPCC事務處理能力?資料庫
- [MYSQL -11]使用函式處理資料MySql函式
- Flex 3快速入門: 處理資料 使用資料繫結Flex
- 阿里是如何處理分散式事務的阿里分散式
- 我的MySql事務處理(可以支援事務處理及資料庫路徑自己定義) (轉)MySql資料庫
- TCC和兩階段分散式事務處理的區別分散式
- 含有特殊字元的資料檔案處理字元
- springcloud分散式事務處理 LCNSpringGCCloud分散式
- Oracle分散式事務典型案例處理Oracle分散式
- JavaScript函式繫結JavaScript函式
- redis的事務處理Redis
- java事務的處理Java
- SAP UI5 資料繫結語法裡的特殊符號,以及絕對繫結和相對繫結概念詳解UI符號
- SAP UI5 資料繫結中的工廠函式UI函式
- 簡單資料繫結和複雜資料繫結
- 欄位處理rtrim去掉結尾的特殊字元和空格字元
- Laravel 路由的隱式繫結和顯式繫結Laravel路由
- 資料庫開發(22)高階事務處理資料庫
- SQL Server分散式事務處理(MS DTC)SQLServer分散式
- 分散式事務處理兩階段提交機制和原理分散式