熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

MyGeneration使用dOOdad提供的通用操作

2022-06-13   來源: .NET編程 
初始化准備:
  Employees emps = new Employees();
  int empID;

   獲取表中的所有數據行
      empsLoadAll();

    根據主鍵獲取一行數據
      empsLoadByPrimaryKey(empID);

   插入一行:



empsAddNew();
empsLastName = Smith;
empsHireDate = DataTimeNow;
empsSave();
empsID = empsEmplyeeID;//插入後返回主鍵值

  上面是dOOdad文檔給出的例子但是我調用Save方法插入數據庫沒有問題但是獲取主鍵值會拋出異常默認生成的代碼沒有將ID作為輸出參數所以empsEmplyeeID仍然為空不能轉換成int更正如下



//在dOOdad生成業務實體抽象類Employees的GetInsertCommand()方法中加一條語句:
CreateParameters(cmd);
cmdParameters[@ID]Direction = ParameterDirectionOutput;//要加入的語句
return cmd;

    刪除一行
      //先定位到要刪除的行(參考 設置當前行)
      empsMarkAsDeled();
      empsSave();

    更新一行:
      //先定位到要更新的行
      empsLastName = Jones;
      empsSave();

   獲取表中的行數
      empsRowCount;
  
 遍歷表中所有的數據行:      



if(empsRowCount>)
{
          empsRewind();//使當前行指向第一行
          do
          {
                //自定義操作
           }while(empsMoveNext());
}

   設置排序表達式:
      empsSort = EmployeesColumnNamesLastName + DESC;

   設置過濾/選擇表達式
      empsFilter = EmployeesColumnNamesLastName + LIKE A%;

   對列進行操作(只是在應用程序的DataSet中進行修改不會被保存進數據庫)
          )   AddColumn
          )   SetColumn
          )   GetColumn
          )   IsColumnNull
          )   SetColumnNull
          )   Example:



if(empsLoadAll())
{
     DataColumn col = empsAddColumn(FullName TypeGetType(SystemString));
     colExpression = EmployeesColumnNamesLastName +   +  + EmployeesColumnNamesFirstName;
     string fullName = empsGetColumn(FullName) as string;
}

    關於連接字符串:
       上面講到可將連接字符串保存到配置文件並賦給dbConnection鍵值

  其實可以在運行時對字符串進行賦值
 empsConnectionString = User=me;Password=pw;Database=Employees;DataSource=MyServer

   設置當前行
       當要修改或刪除一行時該行必須被指定為當前行可以通過如下幾種方法來實現
       ) LoadAll()或QueryLoad()將當前行指向第一行
       ) LoadByPrimaryKey:將當前行指向返回的行
       ) AddNew() 在插入數據庫之前當前行指向正在操作的新行
       ) Rewind()和MoveNext():Rewind()後當前行指向第一行MoveNext()移動到下一行


From:http://tw.wingwit.com/Article/program/net/201311/11704.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.