有时候,需要用NHibernate直接执行SQL进行数据insert或update。

怎么写呢?简单一点的,可以直接拼凑出来的SQL,这样写:

using NHibernate;

StringBuilder sb = new StringBuilder($@"insert into {tablename}(id,report_Id) values({id},{reportid})");
ISQLQuery query = Session.CreateSQLQuery(sb.ToString());
return query.ExecuteUpdate() > 0;

如果怕注入攻击,带参数,酱紫写:

StringBuilder strSQL = new StringBuilder("insert into SDE.HaiDiDianLanGuanDaoP (ObjectID,StartName,UseMode,PermitGUID,IsRight,UseModeName,Sat_Marker,shape) ");
strSQL.Append(" values ");
strSQL.AppendFormat("((select sde.version_user_ddl.next_row_id('SDE', (SELECT registration_id SEQ FROM sde.table_registry WHERE owner = 'SDE' and table_name ='{0}' )) OBJECTID from dual)", "HaiDiDianLanGuanDaoP".ToUpper());
strSQL.Append(",:StartName,:UseMode,:PermitGUID,:IsRight,:UseModeName,:Sat_Marker,SDE.ST_TransForm(SDE.ST_Buffer(SDE.ST_TransForm(decode(to_char(substr(:shape,1,2)),'',null,sde.st_geometry(:shape, 0)), 102028), 10), 4326))"); ISQLQuery query = Session.CreateSQLQuery(strSQL.ToString());
query.SetParameter("StartName", daoL.STARTNAME);
query.SetParameter("UseMode", daoL.USEMODE);
query.SetParameter("PermitGUID", daoL.PERMITGUID);
query.SetParameter("IsRight", daoL.ISRIGHT);
query.SetParameter("UseModeName", daoL.USEMODENAME);
query.SetParameter("Sat_Marker", daoL.SAT_MARKER);
query.SetParameter("shape", daoL.SHAPE);
return query.ExecuteUpdate() > 0;

NHibernate直接执行SQL进行插入的更多相关文章

  1. nhibernate中执行SQL语句

    在有些时候,可能需要直接执行SQL语句.存储过程等,但nhibernate并没有提供一种让我们执行SQL语句的方法,不过可以通过一些间接的方法来实现. 下面给出一个在nhibernate中执行SQL语 ...

  2. postgresql shell脚本传递参数并执行sql脚本并

    参考: https://stackoverflow.com/questions/7389416/postgresql-how-to-pass-parameters-from-command-line ...

  3. NHibernate初学二之简单执行SQL及HQL、Linq

    上篇文章简单介绍NHibernate之简单增删改查,本文将会简单介绍有关执行NHibernate的SQL.HQL及存储过程: 一:执行SQL语句实例,运用CreateSQLQuery方法 public ...

  4. ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法

    ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法 有些情况下,SQL SERVER 2008r2中需要保存float,int类型的数据,当C 中的变量为double ...

  5. Entity Framework Code First执行SQL语句、视图及存储过程

    1.Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table ...

  6. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  7. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  8. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  9. MVC EF 执行SQL语句

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LINQ和SQL对比的文章,网友们 ...

随机推荐

  1. API对接中经常会出现的签名获取,这只是某一种,仅供给有需要的人参考

    要求: 1.对所有传入参数(含系统参数和接口参数)按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式.(即 key1=value1&key2=value2…)拼接 ...

  2. tornado框架基础03-请求与响应

    01 请求与响应 请求 浏览器在发送请求的时候,会发送具体的请求信息,由请求行,请求消息头,请求正文 请求消息头 向服务器传递附加信息 Accept: 浏览器可以接受的MIME类型. Accept-C ...

  3. Python爬虫-代理池-爬取代理入库并测试代理可用性

    目的:建立自己的代理池.可以添加新的代理网站爬虫,可以测试代理对某一网址的适用性,可以提供获取代理的 API. 整个流程:爬取代理 ----> 将代理存入数据库并设置分数 ----> 从数 ...

  4. iframe的操作switch_to_frame使用方法.

    一.frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌的网页元素,也可以说 ...

  5. reversing.kr replace 之write up

    好似reversing除了前几个容易些,后面的都很难的.看wp都很困难.首先wp提示crtl+n查看程序所有函数,并且找到了测试函数: 补充: GetDlgItemInt函数通过发送控件WM_GETT ...

  6. 【Ajax 1】Ajax与传统Web开发的区别

    导读:从用户体验度的角度来说,利用Ajax进行开发的网站,其体验度高于利用传统Web开发技术,那么,是什么因素导致了这一现象呢?难道说Ajax开发,就一定优于传统Web技术吗?本篇文章,将主要介绍Aj ...

  7. [POJ3041] Asteroids(最小点覆盖-匈牙利算法)

    传送门 题意: 给一个N*N的矩阵,有些格子有障碍,要求我们消除这些障碍,问每次消除一行或一列的障碍,最少要几次.   解析: 把每一行与每一列当做二分图两边的点. 某格子有障碍,则对应行与列连边. ...

  8. poj 1579 简单dp由下往上

    #include<stdio.h> #include<string.h> #define N 22 int dp[N][N][N]; int main() { int n,m, ...

  9. hdu 4639

    /*一个he都没有和有一个he结果是1 2个he  是2 3个he    3 4个he    5 5个he    8 ..... 把每段的结果相乘取余*/ #include<stdio.h> ...

  10. 转 蓝桥杯 历届试题 大臣的旅费 [ dfs 树的直径 ]

    题解: 求树的直径. 转一篇博客:http://www.cnblogs.com/hanyulcf/archive/2010/10/23/tree_radius.html 树的直径是指树的最长简单路.求 ...