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. python 基础 列表生成式

    data = {'a':'abc';'b':'bac','c':'cba'} [v for k,v in data] 结果 ['abc','bca','cba'] 格式 [x for x in  内容 ...

  2. JQuery鼠标移动上去显示预览图

    body中: <img src="../images/icon_view.gif" bigimg="../img.jpg" title="查看预 ...

  3. Spring, Hibernate and Oracle Stored Procedures

    一篇英文博文,写的是利用hibernate处理存储过程中的游标等等: Motivation: While there are a few resources available online for ...

  4. 在重命名SqlServer数据库时,报5030错误的解决办法

    数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use master select spid from master.dbo. ...

  5. 主线程与UI线程简介

    ---------------siwuxie095                             Java 程序的主线程     当 Java 程序启动时,一个线程立刻运行,该线程通常叫做程 ...

  6. R中的统计模型

    R中的统计模型 这一部分假定读者已经对统计方法,特别是回归分析和方差分析有一定的了解.后面我们还会假定读者对广义线性模型和非线性模型也有所了解.R已经很好地定义了统计模型拟合中的一些前提条件,因此我们 ...

  7. 《精通Spring4.X企业应用开发实战》读后感第七章(创建增强类)

  8. Entity Framework Code-First(10.3):Property Mappings

    Property Mappings using Fluent API: Here, we will learn how to configure properties of an entity cla ...

  9. Spring入门第三课

    属性注入 属性注入就是通过setter方法注入Bean的属性值或依赖的对象. 属性植入使用<property>元素,使用name属性指定Bean的属性名称,value属性或者<val ...

  10. CSS学习系列2 -- CSS中的清除浮动

    CSS中有一个很常见的问题,就是元素的浮动. 那么,到底什么是元素的浮动呢,我们来看一个例子 举个例子,在一个div里面内部有浮动元素的话,这个浮动元素会让这个div的高度塌陷. .myDiv{ ba ...