MyGeneration:使用dOOdad提供的通用操作

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

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

 

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

 

3.  插入一行:

emps.AddNew();
emps.LastName 
=   " Smith " ;
emps.HireDate 
=  DataTime.Now;
emps.Save();
empsID 
=  emps.EmplyeeID; // 插入后返回主键值。

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

// 在dOOdad生成业务实体抽象类Employees的GetInsertCommand()方法中加一条语句:
CreateParameters(cmd);
cmd.Parameters[
" @ID " ].Direction  =  ParameterDirection.Output; // 要加入的语句
return  cmd;

 

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

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

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

if (emps.RowCount > 0 )
... {
          emps.Rewind();
//使当前行指向第一行
          do
          
...{
                
//自定义操作
           }
while(emps.MoveNext());
}

 

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:

if (emps.LoadAll())
... {
     DataColumn col 
= emps.AddColumn("FullName", Type.GetType("System.String"));
     col.Expression 
= Employees.ColumnNames.LastName + "+ ', ' + " + Employees.ColumnNames.FirstName;
     
string fullName = emps.GetColumn("FullName"as string;
}

 

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()移动到下一行;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-364715/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-364715/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyGeneration 是一款不错的ORM和代码生成工具,它基于模板(Template)工作,安装好MyGeneration 后自带了很多模板,并且提供在线模板库提供模板升级和允许用户自定义模板。MyGeneration 的模板可以用C#, VB.NET, JScript, and VBScript编写。使用MyGeneration 可以为Gentle.NET, Opf3, NHibernate等生成ORM架构或ORM文件,为多种数据库生成存储过程,为.Net项目生成C#、VB.NET 程序代码,PHP、HTML等页面代码。 MyGeneration 具有以下的特性: 1.支持多种数据库 Microsoft SQLServer Oracle IBM DB2 Microsoft Access MySQL PostgreSQL Firebird Interbase SQLite VistaDB Advantage IBM iSeries CSV & other delimited text files 2.支持重用和include文件 3.Ability to single step through all templates regardless of language. (单步调试?) 4.支持为模板输入自定义用户界面,包括winForm程序。 5.提供cmd命令行工具(ZuesCmd.Exe)和GUI(Project)工具. 6.提供强大的原数据 API(MyMeta)访问你的数据库里的原数据。 7.提供Unicode、语法高亮、查找、替换等功能的强大文本编辑器。 8.支持插件(Intrinsic Objects)扩展模板的功能。 9.支持MyMeta meta-data providers插件 10.Dockable windows.(不懂) 11.提供动态的可重写的数据类型映射。从数据库类型到MyGeneration的数据提供者类型到代码类型。 12.支持用户自定义原数据。 13.支持表、字段名、参数等重命名。 14.可以使用Gentle.NET, Opf3, NHibernate的模板。 15.支持在线帮助、模板升级和论坛。 二、myGeneration里的文件 目录: Architectures\ Contains dOOdads and any other MyGeneration sponsered frameworks/architectures. GeneratedCode\ 默认生成代码的存放位置。 Settings\ 配置文件存放目录。配置文件是各种.xml文件。 Templates\ 默认模板存放目录。 可执行文件: MyGeneration.exe 打开window界面 ZeusCmd.exe 打开命令行界面 uninstall.exe 各种帮助文件: ~\.chm 各种数据库驱动文件: ~\.dll 配置文件: DockManager.Config Settings\DefaultSettings.xml 存放默认设置。 Settings\DbTargets.xml 存放数据库到数据提供者数据类型的映射配置 Settings\Languages.xml 存放数据提供者到目标语言的数据类型映射配置 Settings\ScintillaNET.xml 存放语法高亮显示的对应关系的设置信息。 Settings\ZeusConfig.xml 三、缺点 只支持单表,复杂的查询还要先写视图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值