SQL查询语句对象化的实现(C#),SQL查询语句对象化的实现(C#)
【 tulaoshi.com - MySQL 】
在开发数据库应用的过程难免会编写大量的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));
}
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)对象生成的SQL语句:
SELECT * FROM Orders where 1=1 And (OrderID = @OrderID0)
2)以上语句是查询订单ID大于10264并且小于10600的订单信息
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)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));
}
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)对象生成的SQL语句:
SELECT * FROM Orders where 1=1 And (OrderID @OrderID0) And (OrderID < @OrderID1)
4)以上语句是查询订单ID大于10264并且小于10600或编号是10601,10602,10605的订单信息
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));
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语句。
接下来讲术这个查询对象实现,对象的
来源:http://www.tulaoshi.com/n/20160129/1494763.html
看过《SQL查询语句对象化的实现(C#)》的人还看了以下文章 更多>>