ODAC支持通过Oracle的序列来自动生成表的主键功能。这个过程允许在客户端自动完成,不需要过多代码。这个对一些要求自动增长字段做主键的场合非常有用。其实现步骤为:

1、数据库必须先建立生成主键的序列。

2、设置数据集的KeySequence属性,指向数据库中的序列。

3、设置数据集的SequenceMode属性,明确是在新增时还是修改时生成序列值,并赋值给数据集的主键。

4、设置数据集的KeyFields属性,指向表的关键字段。如果KeyFields中有多个字段时,序列值会自动赋值给第一个字段。

ODAC(V9.5.15) 学习笔记(十九)主键值自动生成的更多相关文章

  1. ODAC(V9.5.15) 学习笔记(九)TOraSQLMonitor

    名称 类型 说明 Active Boolean 激活SQL跟踪 DBMonitorOptions 将跟踪信息发送到dbMonitor工具软件的选择项 Host IP地址 Port 端口号 Reconn ...

  2. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  3. SQL反模式学习笔记4 建立主键规范【需要ID】

    目标:建立主键规范 反模式:每个数据库中的表都需要一个伪主键Id 在表中,需要引入一个对于表的域模型无意义的新列来存储一个伪值,这一列被用作这张表的主键, 从而通过它来确定表中的一条记录,即便其他的列 ...

  4. ODAC(V9.5.15) 学习笔记(一)总论

    一直在使用ODAC做开发,没时间仔细研究一下,目前采用的是3层结构,ODAC+TDataSetProvider+TClientDataSet做数据处理,也没有多大问题.下一步要开发B/S的程序了,打算 ...

  5. ODAC(V9.5.15) 学习笔记(十七)主从模式

    主从模式(Master/Detail mode)是指建立主表和从表关系的多个数据集集合模式. 1. 关系设置 要设置主从模式,必须有一个主表数据集(TDataSet)和一个从表数据集(TDataSet ...

  6. ODAC(V9.5.15) 学习笔记(四)TOraDataSet

    名称 类型 说明 SequenceMode TSequenceMode ODAC可以直接利用Oracle中的序列对象为表的主键赋值,从而实现主键自动增长的功能.该属性决定了在什么场合下使用序列: sm ...

  7. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(4)

    6.Options TCustomDADataSet的选择项为TDADataSetOptions,其成员介绍如下表 : 名称 类型 说明 TDADataSetOptions AutoPrepare B ...

  8. ODAC(V9.5.15) 学习笔记(四)TOraQuery (1)

    TOraQuery是ODAC中常用的一个组件,其继承关系如下: TDataSet ---TMemDataSet ---TCustomDADataSet ---TOraDataSet ---TCusto ...

  9. ODAC(V9.5.15) 学习笔记(三)TOraSession(1)

    1. 连接相关 名称 类型 说明 ConnectDialog 执行连接对话框控件 Connected Boolean 连接状态,通过函数Connect和Disconnect连接或关闭数据库连接,并触发 ...

随机推荐

  1. 在项目中引用GreenDroid库

    1.下载GreenDroid库 首先,我们得从Git上下载这个库,我用的是git for windows下载的.先下载,安装.安装完后,打开git for windows ,直接将浏览器中GreenD ...

  2. [ACM_几何] Metal Cutting(POJ1514)半平面割与全排暴力切割方案

    Description In order to build a ship to travel to Eindhoven, The Netherlands, various sheet metal pa ...

  3. jpa 注解使用说明

    1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="",catalog=&quo ...

  4. 免费好用的web应用托管平台

    1.前言 曾经很久以前,想找一个免费的空间部署一个属于自己的技术博客真是太难了,使用过SAE,但是很快就面临收费了,后面也就不了了之了.目前自己又找到一个免费的PAAS平台,可以部署各种语言的web应 ...

  5. 【原】关于使用Sklearn进行数据预处理 —— 缺失值(Missing Value)处理

    关于缺失值(missing value)的处理 在sklearn的preprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理. 首先需要说明的是,numpy的数组中 ...

  6. LINQ-to-SQL那点事~LINQ-to-SQL中的数据缓存与应对

    回到目录 这个文章写的有点滞后了,呵呵,因为总想把之前不确定的东西确定了之后,再写这篇,之前的LINQ-to-SQL那点事,请点这里. LINQ-to-SQL中的数据缓存与应对 Linq-to-SQL ...

  7. 备份MYSQL出现:mysqldump: Got error: 1049: Unknown database 'test 'when selecting the data

    解决办法 后面不要加分号: 如: mysqldump -uroot -p test>test.sql 不加分号 直接回车

  8. Linux中如何产生core文件?

      在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数.   1.core文件 ...

  9. MySql 分页

    MySql 分页 由于最近项目需要,于是就简单写了个分页查询.总体而言MySql 分页机制较为简单.数据库方面只需要使用limit即可实现分页.前后台交互就直接用session传了值. 下面就写写具体 ...

  10. android: SQLite更新数据

    学习完了如何向表中添加数据,接下来我们看看怎样才能修改表中已有的数据. SQLiteDatabase 中也是提供了一个非常好用的 update()方法用于对数据进行更新,这个方法 接收四个参数,第一个 ...