在开发数据库应用的过程难免会编写大量的SQL语句,其中大部份是查询语句;为不同情况编写查询语句是一件很烦琐的事件。用过hibernate或Nhibernate会了解到把SQL查询语句对象化后使用起非常方便和快捷;也大大减少在编写查询SQL语句所带来的错误等问题。 前段时间在编写一个数据处理类的时候同样遇到这个问题,经过一段时间思考和设计现实现了SQL查询语句对象化的功能;在这里我把自己小小的成果共享一下。 在讲解前先看几个例子(数据是SQLServer的Northwind)注意:例子中所涉及的除查询对象化外还包含整个数据处理类的使用,那部分还在设计和完善当中。 1)以上语句是查询订单ID为10264的订单信息 using(HFSoft.Data.IDataSession session = HFSoft.Data.DataSessionFactory.OpenSession()) { session.Open(); HFSoft.Data.QueryCmd query = new QueryCmd("Orders"); query.Expreesion.Add(new HFSoft.Data.EqExpression("OrderID",10264)); System.Data.DataSet myDS = session.ExecuteDataSet(query.BuilderCmd(session)); } 对象生成的SQL语句: SELECT * FROM Orders where 1=1 And (OrderID = @OrderID0) 2)以上语句是查询订单ID大于10264并且小于10600的订单信息 using(HFSoft.Data.IDataSession session = HFSoft.Data.DataSessionFactory.OpenSession()) { session.Open(); HFSoft.Data.QueryCmd query = new QueryCmd("Orders"); query.Expreesion.Add( new HFSoft.Data.LeExpression("OrderID",10264), new HFSoft.Data.RtExpression("OrderID",10600)); System.Data.DataSet myDS = session.ExecuteDataSet(query.BuilderCmd(session)); } 对象生成的SQL语句: SELECT * FROM Orders where 1=1 And (OrderID > @OrderID0) And (OrderID < @OrderID1) 4)以上语句是查询订单ID大于10264并且小于10600或编号是10601,10602,10605的订单信息 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> [办公软件]在sybase中插入图片、PDF、文本文件 [办公软件]安装Sybase ASE [办公软件]linux指令大全(完整篇) [办公软件]Linux新手入门常用命令大全 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法 [办公软件]Linux程序员必读:中文化与GB18030标准 [办公软件]linux指令大全 [办公软件]制作Linux启动盘的四种方法 [办公软件]Linux文件系统的反删除方法
|