ACCESS MSSQL Mysql Oracle 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2006-12-21 09:28:52

SQL Artisan数据库访问组件功能概述

来源: 字体:[ ]

SQL Artisan现有的版已经在项目中运用,在使用的过程中得到的效果相当理想.刚接触这个组件的几个新同事通过了解已有例子,很快就能适应到项目开发过程中.组件的对象操作和编译检测大提高了编写效率,在项目中得到的效果自己也有点意想不到.

SQL Artisang下一个版本的功能主完善在表对象操作和对象映射方面;包括:表对象支持数据操作,对象继承,视图对象映射,统计对象映射等.为了让组件功能扩展更方便,把组件的数据映射方式进行重构,由原来的XML描述改成Attribute;并把相关应映射成员搬迁到HFSoft.Data.Mapping名称空间下.以下描述只是组件在新版本中具备的功能,大部分还在实现过程。

表对象的数据操作

新版本表对象(Table)由Expressions名称间搬迁到Mapping名称空间下.旧版本的表对象只支持表的关联操作功能比较单一.在功能完善后会支持数据的新增、删除、修改和查询操作。在程序中可以通过以下方式定义表和字段的对象:


Table tbl = new Table("Employees");

NumberField field = new NumberField("EmployeeID");

数据新增:


Employees.TBL.Insert(

         Employees._FirstName.Set("Fan"),

         Employees._LastName.Set("Henry"),

         Employees._BirthDate.Set(DateTime.Parse("1979-1-1"))

         );

数据修改:


Employees.TBL.Update(Employees._FirstName =="Fan",

         Employees._City.Set("GuangZhou"),

         Employees._Address.Set("TianHe"),

         Employees._Region.SetNull());

数据删除:


Employees.TBL.Delete(Employees._FirstName =="Fan");

数据查询:


System.Collections.IList lst = Orders.TBL.Where(

         Orders._OrderDate >= DateTime.Parse("1997-1-1")&

         Orders._OrderDate < DateTime.Parse("1997-8-1")

         ).SelectObject();

     foreach(Orders item in lst)

     {

         Console.WriteLine(item.OrderID);

     }

统计查询:


System.Data.DataSet ds = Orders.TBL.INNER(OrderDetails.TBL,OrderDetails._OrderID)

         .Where(Orders._OrderDate >= DateTime.Parse("1997-8-1"))

         .OrderBy(Orders._EmployeeID.DESC)

         .GroupBy(Orders._EmployeeID)

     .Select(SqlMath.Sum(OrderDetails._Quantity*OrderDetails.
_UnitPrice*(1-OrderDetails._Discount)).As("account"),Orders._EmployeeID);

     foreach(System.Data.DataRow row in ds.Tables[0].Rows)

     {

         Console.WriteLine(row["account"]);

     }


网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved