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拼接的更多相关文章

  1. MyBatis框架——动态SQL、缓存机制、逆向工程

    MyBatis框架--动态SQL.缓存机制.逆向工程 一.Dynamic SQL 为什么需要动态SQL?有时候需要根据实际传入的参数来动态的拼接SQL语句.最常用的就是:where和if标签 1.参考 ...

  2. 详解Java的MyBatis框架中SQL语句映射部分的编写

    这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...

  3. COALESCE在SQL拼接中的大用途

    SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便. 下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段 -------------------------- ...

  4. SQL拼接备份数据库

    在SQLserver使用脚本备份数据库的时候需要注意的问题是: 1.指向的文件名必须是有读写权限. 2.在使用批量数据库备份时候需要根据自己需求选择性备份. -- ================== ...

  5. Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务

    第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...

  6. SQL拼接方法

    smark Beetle可靠.高性能的.Net Socket Tcp通讯组件 另类SQL拼接方法 在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的 ...

  7. 另类SQL拼接方法

    在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的地方就是不能对SQL进行参数化处理.下面介绍一种就算基于String +的方式也可以进行SQL参数 ...

  8. SQL拼接大法

    SQL拼接大法:          Step1:括号先写上() Step2:在括号内写上(,     ,     ,     ,      ,     ,) Step3:再写上单引号(,'     ' ...

  9. 多条件搜索问题 -sql拼接与参数化查询

    来源:传智播客  免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...

随机推荐

  1. Project Online JS 添加Ribbon按钮

    var Projects = Projects || {}; (function () { Projects.ribbonButtonClick = function (name) { var pro ...

  2. Packet for query is too large

    数据库:mysql5.6 framework: play framework 1.2.4 近日处理批量数据的insert,update,涉及的保存更新sql大概有18w.我的操作如下: 1)每次取10 ...

  3. Struts2学习第七课 动态方法调用

    动态方法调用:通过url动态调用Action中的方法. action声明: <package name="struts-app2" namespace="/&quo ...

  4. 业务、数据记录——ThreadPool.QueueUserWorkItem及Redis的实现

    业务描述 当用户执行完业务操作,或者数据操作后,讲业务记录/数据追踪插入到Redis中.ThreadPool.QueueUserWorkItem定时检查队列并将上述数据插入到数据库中持久化. 实现流程 ...

  5. 程序员笔记|常见的Spring异常分析及处理

    一.前言 相信我们每个人在SpringMVC开发中,都遇到这样的问题:当我们的代码正常运行时,返回的数据是我们预期格式,比如json或xml形式,但是一旦出现了异常(比如:NPE或者数组越界等等),返 ...

  6. BKMyFAQ

    邮箱配置如图 发送格式: { "bk_app_code": "bk_monitor", #该字段可以查看文件:/data/install/.app.token ...

  7. PAT12-012【建最小堆】

    卧槽..没看清 值 还有负的.. PS: 注意他说是一个一个插入的,也就是插在完全二叉树的最末位置,然后向上更新. #include<bits/stdc++.h> using namesp ...

  8. 洛谷P1092 虫食算

    P1092 虫食算 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单的例子: http://paste.ubuntu.com/2544 ...

  9. 洛谷P3396 哈希冲突(分块)

    传送门 题解在此,讲的蛮清楚的->这里 我就贴个代码 //minamoto #include<iostream> #include<cstdio> #include< ...

  10. 洛谷P4121 [WC2005]双面棋盘(线段树套并查集)

    传送门 先膜一下大佬->这里 据说这题正解是LCT,然而感觉还是线段树套并查集的更容易理解 我们对于行与行之间用线段树维护,每一行内用并查集暴力枚举 每一行内用并查集暴力枚举连通块这个应该容易理 ...