asp.net Oracle 之Insert 与 Update 更新封闭代码

.net oracle 之insert 与 update 更新封闭代码
 
觉得我可以从的更新方法下手,于是有了下面这些尝试了。

在oracle 中insert 语句是可以使用 returning 返回新增的记录的。

于是我们的insert 语句就是这样了.

insert into tablename (uniquecolumn,othercolumns)
values(table_seq.nextval,values) returning uniquecolumn into :unique_id。

这样执行之后,我就可以通过out参数 unique_id 获取新增的记录的主键啦

 

public override object insert(editorparams pm)        {            if (pm != null && pm.editvalues.count > 0)            {                querysetting qs = configenginer.instance.datamodels[pm.modeltype];                string insertformart = @”insert into #oysterval:tablename# (#oysterval:uniquecolumn#,#oysterval:columns#)values(#oysterval:tablename#_seq.nextval,#oysterval:values#) returning #oysterval:uniquecolumn# into :unique_id”;                dictionary vals = new dictionary();                list parms = new list();                vals.add(“tablename”, qs.tablename);                vals.add(“uniquecolumn”, qs.uniquecolumn.columnname);                vals.add(“columns”, pm.insertcolumns);                vals.add(“values”, pm.insertvalues);                //system.nullable                var unqtype = qs.uniquecolumn.propertytype;                if (unqtype.fullname.contains(“system.nullable”))                {                    var types = unqtype.getgenericarguments();                    if (types != null && types.length > 0)                    {                        unqtype = types[0];                    }                }                var pr = new oracleparameter(“:unique_id”, activator.createinstance(unqtype));                pr.direction = parameterdirection.inputoutput;                parms.add(pr);                parms.addrange(pm.dataparms);                string sql = insertformart.tooystertemplate(vals);                pm.effectcount = dbenginer.instance.executenonquery(sql, parms.toarray());                pm.effectuniqueids.add(pr.value);                return pm.effectuniqueids[0];            }            else            {                throw new exception(“请检查传入的editparams,更新列数据不能为空!”);            }            return null;        }

里面使用到的其他类型引用,以后会慢慢分享。

而update 则可以这样: uniquecolumn from tablename where condition for update。

将要更新的行select 出来,并且加上update 的锁。保证update按顺序执行,而不会错乱

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1839742.html

(0)
上一篇 2025年2月21日 23:09:30
下一篇 2025年2月21日 23:09:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • photoshop批量更改图片尺寸的脚本

    用于批量更改打开的图片的尺寸的photoshop 脚本 (javascript)。用法: 把解压出来的 “改变尺寸.jsx” 文件复制到 “ps安装目录预置脚本” 下,重新打开ps以后就可以在~[菜单- 文件-脚本] 里面找到 “改变尺寸”…

    2025年4月1日
    100
  • Photoshop教程:修改照片清晰度

      作为摄影,还应当从摄影技术角度进一步提高,以达到精益求精。这幅照片不足之处是焦点没有集中在人物面部而集中在了胸部和左手,多少有些影响了主题充分展现。能不能把人物面部的清晰度进一步加强呢?   当然可以,确实要感谢现代科学技术,Photo…

    2025年4月1日
    100
  • PS动作、脚本实际工作中的应用

      前面photoshop教程介绍了photoshop入门:动作的安装使用实例 和 photoshop入门:动作(action)安装和使用。  最近在做一些无聊游戏,具体就不多说了,谈实际碰到的两个例子:   由于常常有人抱怨写的东西看不懂…

    2025年4月1日 编程技术
    100
  • Photoshop简单制作雷鸣闪电特效

    启动photoshop, 版本随意, 7.0, 8.0, 9.0 都行…新建图像后, 按一下键盘”d”, 将前景色和背景色恢复成为默认的黑 白.然后选择渐变工具(快捷键”g”), …

    2025年4月1日 编程技术
    100
  • Photoshop照片色彩调节的两个实例

    在Photoshop中实现色彩调节有两种方法:一是通道调节,二是图层调节。   通常在Photoshop中使用的色彩调节命令,如”色阶”、”色相”等实质上都是通过”通道&#8221…

    2025年4月1日 编程技术
    100
  • 详解UTF-8几种写法的区别

    本质上没有区别。1.“UTF-8”是标准写法;2.在Windows下边英文不区分大小写,所以也可以写成“utf-8”;3.“UTF-8”也可以把中间的“-”省略,写成“UTF8”。一般程序都能识别,但也有例外(如下文):  为了严格一点,最…

    编程技术 2025年4月1日
    100
  • button与submit的区别介绍

    在一个页面上画一个按钮,有四种办法: 这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。 这个按钮放在 form 中也会点击自动…

    编程技术 2025年4月1日
    100
  • html中a标签href=""的几种用法介绍

            众所周知,a标签的最重要功能是实现超链接和锚点。而且,大多数人认为a标签最重要的作用是实现超链接,今天我刚好碰到a标签的一种写法,所以就来整理下a标签中href的几种用法。 一、Js的几种调用方法(参考总结的)       …

    编程技术 2025年4月1日
    100
  • HTML5的结构和语义(5):交互_html5教程技巧

    http://www.jb51.net/html_xhtml/20080306/html_xhtml_4688.html  HTML 5 也被称为 Web Applications 1.0。为了实现这个目标,增加了几个为 Web 页面提供交…

    编程技术 2025年3月29日
    100
  • HTML5 语义化结构化规范化_html5教程技巧

    HTML结构更加清晰、规范,学习HTML5优化结构的思路。HTML5添加了一些新元素,用来标识常用的结构,是html更具语义化,可是我们无法直接使用,即使可能用到还要等他个十年八年的。那就像微格式一样,使用class代替,或者随意点,使用i…

    编程技术 2025年3月29日
    100

发表回复

登录后才能评论