框架使用-Sql拼接
Sql语句拼写:
- 查询
- DQueryDom
- DmoQuery(返回的整个对象)
- 更新
- DQUpdateDom
- 删除
- DQDeleteDom
- 条件
- dom.Where.Conditions.Add(DQCondition.Or(DQCondition.Like("Name","检修部"), DQCondition.Like("Spell", "检修部")));
- 排序
- dom.OrderBy.Expressions.Add(DQOrderByExpression.Create("OrderId",false));
- 分组
- dom.GroupBy.Expressions.Add(DQExpression.Field("Name"));
- 自定义查询字段
- dom.Columns.Add(DQSelectColumn.Field("ID"));
- dom.Columns.Add(DQSelectColumn.Count());
- 连接查询
var user = new
JoinAlias(typeof(WpfUser));var bindInfo = new
JoinAlias(typeof(UserBindInfo));var dom = new
DQueryDom(user);dom.From.AddJoin(JoinType.Left, new
DQDmoSource(bindInfo), DQCondition.EQ(user, "ID", bindInfo, "User_ID"));
dom.Columns.Add(DQSelectColumn.Field("ID"));
dom.Columns.Add(DQSelectColumn.Field("Name"));
dom.GroupBy.Expressions.Add(DQExpression.Field("ID"));
dom.GroupBy.Expressions.Add(DQExpression.Field("Name"));
- Session
- using (var context = new
TransactionContext()){
context.Session.ExecuteNonQuery(update);
context.Session.Commit();
}
using (IDmoSession session = Dmo.NewSession()) //好想要引用或者继承什么,否则session为null
{
var list = session.ExecuteList(query);
return list.Cast<WXDept>().ToList();
}
- 执行方法
- DQUpdateDom提交 ExecuteNonQuery
context.Session.ExecuteNonQuery(update);context.Session.Commit();
- DQDeleteDom提交 ExecuteNonQuery
Session.ExecuteNonQuery(del);
- DomQuery提交 ExecuteScalar
var result = (WXAgent)Session.ExecuteScalar(dmo); //DomQuery
return (long?)context.Session.ExecuteScalar(dom); //DQueryDom
- ExecuteList
using (var context = new TransactionContext())
{
var list = context.Session.ExecuteList(dmo);
var userList = list.Cast<UserBindInfo>().ToList();
UserBindInfo bindInfo = null;
if (userList.Count > 0)
{
bindInfo = userList.First();
}
return bindInfo;
}
- ExecuteReader
using (var context = new TransactionContext())
{
using (var reader = context.Session.ExecuteReader(dom))
{
while (reader.Read())
{
yield return new WordPair(reader[0].ToString(), TreeUtil.GetTreePrefix(Convert.ToInt32(reader[2])) + reader[1]);
}
}
}
using (IDmoSession session = Dmo.NewSession())
{
dtWeiXin = session.ExecuteSql(WxSql()).Tables[0];
}
using (IDmoSession session = Dmo.NewSession(ConfigurationManager.AppSettings["cfdBus"]))
{
//session.ExecuteSqlNonQuery(CfdBusSql(dtWeiXin));
session.ExecuteSqlNonQuery(CfdBusSql(dtWeiXin));
session.Commit();自定义sql要提交一下子
}
框架使用-Sql拼接的更多相关文章
- MyBatis框架——动态SQL、缓存机制、逆向工程
MyBatis框架--动态SQL.缓存机制.逆向工程 一.Dynamic SQL 为什么需要动态SQL?有时候需要根据实际传入的参数来动态的拼接SQL语句.最常用的就是:where和if标签 1.参考 ...
- 详解Java的MyBatis框架中SQL语句映射部分的编写
这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...
- COALESCE在SQL拼接中的大用途
SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便. 下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段 -------------------------- ...
- SQL拼接备份数据库
在SQLserver使用脚本备份数据库的时候需要注意的问题是: 1.指向的文件名必须是有读写权限. 2.在使用批量数据库备份时候需要根据自己需求选择性备份. -- ================== ...
- Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务
第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...
- SQL拼接方法
smark Beetle可靠.高性能的.Net Socket Tcp通讯组件 另类SQL拼接方法 在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的 ...
- 另类SQL拼接方法
在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的地方就是不能对SQL进行参数化处理.下面介绍一种就算基于String +的方式也可以进行SQL参数 ...
- SQL拼接大法
SQL拼接大法: Step1:括号先写上() Step2:在括号内写上(, , , , , ,) Step3:再写上单引号(,' ' ...
- 多条件搜索问题 -sql拼接与参数化查询
来源:传智播客 免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...
随机推荐
- LAMP 1.9域名301跳转
给两个域名分主次.输入次域名跳转到主域名然后进行访问. 首先打开虚拟机配置文件. vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 把这段配置添加 ...
- 将List中部分字段转换为DataTable中
由于原来方法导出数据量比较大 的时候,出现卡顿现象:搜索简单改造:(下面方法借助NPIO) /// <summary> /// 将List中原文和译文转换为Datatable /// &l ...
- [nowCoder] 两个长度相同有序数组的中位数
给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数.例如:arr1 = {1,2,3,4};arr2 = {3,4,5,6};一共8个数则上中位数是第4个数,所以返回 ...
- Java探索之旅(8)——继承与多态
1父类和子类: ❶父类又称基类和超类(super class)子类又称次类和扩展类.同一个package的子类可以直接(不通过对象)访问父类中的(public,缺省,protected)数据和方法. ...
- JavaScript代码存在形式
<!-- 方式一 --> <script type"text/javascript" src="JS文件"></script> ...
- Windchill 查询功能
一.使用SearchCondition 查询语句中用容器中的containerReference.key.id名称来代替数据库中的字段idA3containerReference /** * ...
- ubuntu下root用户默认密码及修改方法
[ubuntu下root用户默认密码及修改方法] 很多朋友用ubuntu,一般都是装完ubuntu系统,马上就修改root密码了,那么root用户的默认密码是多少,当忘记root用户密码时如何找回呢, ...
- base64 数据加密
1.新建一个base64.js文件 添加下面的代码 /* Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp> * Version: 1.0 ...
- R: vector 向量的创建、操作等。
################################################### 问题:创建.操作向量 18.4.27 怎么创建向量 vector,,及其相关操作 ??? 解 ...
- Java引用的四种状态
强引用 用的最广,我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它.它就是强引用. 如果一个对象具有强引用,那么垃圾回收期绝不会回收它,当内存空间不足,java虚拟机宁愿抛出 ...