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. AJAX经常遇到的那些问题

    本文主要介绍了AJAX工作原理以及在面试题经常会遇到的问题,目录如下: 什么是Ajax 为什么要使用Ajax? Ajax特点? AJAX优缺点? Ajax流程? XMLhttprequest对象 AJ ...

  2. CSS是什么?W3C是什么?W3C盒子与IE盒子的区别?

    (1)层叠样式(Cascading Style Sheets, CSS)是用来表现HTML或XML文本样式的语言.   (2)W3C推荐规范(World Wide Web Consortium,W3C ...

  3. Luogu 4868 Preprefix sum

    类似于树状数组维护区间的方法. 每一次询问要求$\sum_{i = 1}^{n}\sum_{j = 1}^{i}a_j$. 展开一下: $\sum_{i = 1}^{n}\sum_{j = 1}^{i ...

  4. CodeForces 492D Vanya and Computer Game (思维题)

    D. Vanya and Computer Game time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  5. 【NLP】中文分词:原理及分词算法

    一.中文分词 词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键. ...

  6. DataSet,DataTable,DataColumn,DataRow的常用操作

    DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...

  7. HTML5学习笔记(七)WebSocket

    WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.在WebSocket API中,浏览器和服务器只需要做一个握手的动作 浏览器通过 JavaScript 向服务器 ...

  8. 关于js模板引擎template的使用记录

    引言 有一天在群里有一个人发了这么一个图片 看到这个就会发现2个问题,一个是后期如果html结构改变了,这一大块都要重写.还有一个就是写的时候自己都看不清,很容易出错. 然后还有一个人写的清楚一点,但 ...

  9. Git error: unable to create file xxx: Filename too long

    一.问题描述 在使用 git 时,提示 error: unable to create file xxx: Filename too long error: unable to create file ...

  10. Boost Python学习笔记(三)

    你将学到什么 在C++中调用Python代码时的传参问题 基础类型 继续使用前面的项目,但是先修改下Python脚本(zoo.py),添加Add和Str函数,分别针对整数.浮点数和字符串参数的测试 d ...