query.Expreesion.Add(HFSoft.Data.UintType.Or,new HFSoft.Data.InExpression("OrderID",new int[]{10601,10602,10605}));
System.Data.DataSet myDS = session.ExecuteDataSet(query.BuilderCmd(session)); }
对象生成的SQL语句:
SELECT * FROM Orders where 1=1 And (OrderID > @OrderID0) And (OrderID < @OrderID1) Or (OrderID in (@OrderID20,@OrderID21,@OrderID22))
从上面的例子我们可以看到对不同的条件进行数据查询只是一件很简单的事情,你并不用为不同的查询情况写相应SQL语句。
接下来讲术这个查询对象实现,对象的最终就是把不同字符串并起来生成相应的SQL语句;SQL语句查询语句主要分为以下几大部份:获取的字段,表名称,条件,排序,分组;了解SELECT语句的对查询语句的组成部分比较了解。
其中比较难的就是条件部分处理,因为条件的组合是情况是比较多;所以设计起来相对比较复杂。在设计的过程中把条件单独抽取出来,并生成接口对条件的表达式进行描述:
/// <summary>
/// 表达式描述接口
/// 用于SQL语句条件表达式的描述
/// </summary>
public interface IExpression
{
/// <summary>
/// 获取表达式
/// </summary>