MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作

  初始化准备: 
  Employees emps = new Employees();
  int empID;

1.  获取表中的所有数据行:
      emps.LoadAll();

 

 2.  根据主键获取一行数据:
      emps.LoadByPrimaryKey(empID);

 

3.  插入一行:

MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作emps.AddNew();
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作emps.LastName 
= "Smith";
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作emps.HireDate 
= DataTime.Now;
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作emps.Save();
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作empsID 
= emps.EmplyeeID;//插入后返回主键值。
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作

       上面是dOOdad文档给出的例子,但是我调用Save方法插入数据库没有问题,但是获取主键值会抛出异常。默认生成的代码没有将ID作为输出参数,所以emps.EmplyeeID仍然为空,不能转换成int。更正如下:

MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作//在dOOdad生成业务实体抽象类Employees的GetInsertCommand()方法中加一条语句:
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
CreateParameters(cmd);
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作cmd.Parameters[
"@ID"].Direction = ParameterDirection.Output;//要加入的语句
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
return cmd;

 

4.   删除一行:
      //先定位到要删除的行(参考6.12 设置当前行)
      emps.MarkAsDeled();
      emps.Save();

      
5.   更新一行:
      //先定位到要更新的行
      emps.LastName = "Jones";
      emps.Save();

6.  获取表中的行数:
      emps.RowCount;
  
7.  遍历表中所有的数据行:      

MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作if(emps.RowCount>0)
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
{
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作          emps.Rewind();
//使当前行指向第一行
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
          do
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作          
{
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作                
//自定义操作
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
           }
while(emps.MoveNext());
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作}

 

8.  设置排序表达式:
      emps.Sort = Employees.ColumnNames.LastName + " DESC";

 

9.  设置过滤/选择表达式:
      emps.Filter = Employees.ColumnNames.LastName + " LIKE A%";


  
10.  对列进行操作(只是在应用程序的DataSet中进行,修改不会被保存进数据库):
          1)   AddColumn
          2)   SetColumn
          3)   GetColumn
          4)   IsColumnNull
          5)   SetColumnNull
          6)   Example:

MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作if(emps.LoadAll())
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
{
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作     DataColumn col 
= emps.AddColumn("FullName", Type.GetType("System.String"));
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作     col.Expression 
= Employees.ColumnNames.LastName + "+ ', ' + " + Employees.ColumnNames.FirstName;
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作     
string fullName = emps.GetColumn("FullName"as string;
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作}

MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作

 

11.  关于连接字符串: 
       上面讲到,可将连接字符串保存到配置文件并赋给dbConnection键值;其实可以在运行时对字符串进行赋值:
 emps.ConnectionString = "User=me;Password=pw;Database=Employees;DataSource=MyServer";

 

12.  设置当前行:
       当要修改或删除一行时,该行必须被指定为当前行,可以通过如下几种方法来实现:
       1). LoadAll()或Query.Load():将当前行指向第一行;
       2). LoadByPrimaryKey:将当前行指向返回的行;
       3). AddNew() 在插入数据库之前,当前行指向正在操作的新行;
       4). Rewind()和MoveNext():Rewind()后当前行指向第一行,MoveNext()移动到下一行;


本文转自Silent Void博客园博客,原文链接:http://www.cnblogs.com/happyhippy/archive/2006/08/23/601240.html,如需转载请自行联系原作者

上一篇:海量数据切分抽取的实践场景(r11笔记第43天)


下一篇:自学笔记:setTag、getTag