框架使用-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 ...
随机推荐
- 问题:HttpWebRequest request post 传参; 结果:好用的C# HttpWebRequest用Post同时提交参数和文件的封装类
在项目中,本来都是在站内进行数据交互的,后来又加进来一个买的php网站(艹).需要进行数据交互,在没有考虑使用web服务的情况下,只有通过Post提交到页面进行数据交互是最好的方式了. 我这边使用的是 ...
- PandaSeq安装报错ltld required, install libtool library
PandaSeq安装 $ ./autogen.sh && ./configure && make && sudo make install PandaS ...
- p2279&bzoj1217 消防局的设立
传送门(洛谷) 传送门(bzoj) 题目 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来 连接这些基地,并且每两个基地都能够通过道路到达, ...
- 阶段3-团队合作\项目-网络安全传输系统\sprint3-账号管理子系统设计\第2课-账号管理子系统设计
账号管理子系统的设计 客户端需要登录到服务器,在服务器去查询数据库,进行验证该用户. 打开client.c文件 编译之 把它复制到开发板里面去 这个程序是在本地数据库测试的!!!!!!!!!!!!!! ...
- ES Docs-2:Exploring ES cluster
The REST API Now that we have our node (and cluster) up and running, the next step is to understand ...
- 解决IIS出现的问题
- gitlab 502解决方案
gitlab突然出现502 尝试gitlab-ctl restart.gitlab-ctl reconfigure 无效. 之后做法: #查看git日志 gitlab-ctl tail发现日志报错:端 ...
- PHP连接 redis
<?php //连接本地的 Redis 服务 $redis = new Redis(); //连接redis 地址 端口 连接超时时间 连接成功返回true 失败返回false $redis-& ...
- uoj #185. 【ZJOI2016】小星星
#185. [ZJOI2016]小星星 小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有 nn 颗小星星,用 mm 条彩色的细线串了起来,每条细线连着两颗小星星.有一天她发现,她的饰品被破坏 ...
- 洛谷P1171 售货员的难题
P1171 售货员的难题 题目背景 数据有更改 题目描述 某乡有n个村庄(1<n<20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0<s<1000)是已知的,且 ...