生成更新數據的代碼
基礎類型 RecordORMHelper預留了FillUpdateCommand函數,快速ORM框架更新數據庫時首先創建一個數 據庫命令對象,然後調用FillUpdateCommand函數設置SQL語句,添加SQL參數,然後執行該命 令對象接口更新數據庫記錄。對於DB_Employees,其FillUpdateCommand函數的代碼為
public override int FillUpdateCommand( System.Data.IDbCommand cmd , object objRecord )
{
if( cmd == null ) throw new ArgumentNullException("cmd");
if( objRecord == null ) throw new ArgumentNullException("objRecord");
MyORM.DB_Employees myRecord = objRecord as MyORM.DB_Employees ;
if( myRecord == null ) throw new ArgumentException("must type 'MyORM.DB_Employees' ");
cmd.CommandText = @"Update Employees Set EmployeeID = ? , LastName = ? , FirstName = ? , Title = ? , TitleOfCourtesy = ? , Address = ? , BirthDate = ? , City = ? , Country = ? , EducationalLevel = ? , EMail = ? , Extension = ? , Goal = ? , HireDate = ? , HomePage = ? , HomePhone = ? , Notes = ? , PostalCode = ? , Region = ? , ReportsTo = ? , Sex = ? Where EmployeeID = ? " ;
cmd.Parameters.Clear();
System.Data.IDbDataParameter parameter = null ;
parameter = cmd.CreateParameter();
parameter.Value = myRecord.EmployeeID ;
cmd.Parameters.Add( parameter );
parameter = cmd.CreateParameter();
parameter.Value = myRecord.BirthDate.ToString("yyyy-MM-dd");
cmd.Parameters.Add( parameter );
為其他屬性值添加SQL參數對象。。。。。。
parameter = cmd.CreateParameter();
parameter.Value = myRecord.Sex ;
cmd.Parameters.Add( parameter );
//這 裡為查詢條件添加參數
parameter = cmd.CreateParameter();
parameter.Value = myRecord.EmployeeID ;
cmd.Parameters.Add( parameter );
return 22 ;
}
這段代碼結構比 較簡單,首先是對參數進行判斷,然後設置SQL更新語句,然後將所有的屬性的值依次添加到 SQL參數列表中,最後還為查詢將EmployeeID值添加到SQL參數列表中。