社区
数据库
帖子详情
请问高手,用ADO如何知道一张表是主键是什么字段?
z_yongqiang
2003-09-11 04:23:56
请问高手,用ADO如何知道一张表是主键是什么字段?
...全文
42
2
打赏
收藏
请问高手,用ADO如何知道一张表是主键是什么字段?
请问高手,用ADO如何知道一张表是主键是什么字段?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hewwatt
2003-09-13
打赏
举报
回复
ADOConnection有一个OpenSchema方法,可以一用。
不过,要注意,不同的DBMS/ado Provider在实现
及语义上会有所不同。
arvid_gs
2003-09-12
打赏
举报
回复
要看你用的那种数据库
然后调用数据库自带的一个可以得到表的主键的存储过称就可以的到了
DevArt UniDAC v.3.70.0.19 [D7-XE]
[转]为什么要选择UniDAC? 说到数据集组件,大家也许会首选
ADO
,然后说BDE太老了,DBX不敢用。其实delphi优秀的数据集组件真不少,除了上诉的数据集组件,还有ZEOSDB、SQL Direct、UniDAC等,要是专业的数据集组件,更是百花盛开,如FIBPLUS、SDAC、ODAC、DOA等等,商业和开源不尽其中!这里只讨论UniDAC和
ADO
的一些比较。 Delphi能发展到现在,和一些著名的第三方控件厂商大力支持分不开,这其中包括Devart公司(Corelab)公司。Corelab公司做数据集驱动非常出名,就拿ODAC、SDAC和DBX驱动来说,已经远胜其他同行的第三方控件公司。UniDAC是Devart公司最近的力作,将ODAC、SDAC、IBDAC等驱动综合集成在一块。UniDAC无论是做三层还是两层,都远胜于
ADO
。下面说一些UniDAC的优点: 1、非常完美的支持多数据库的数据集套件。这一点,
ADO
也支持多数据库,但
ADO
除了MSSQL驱动之外,其他驱动支持的非常差。就拿Oracle驱动来说,在调用oracle复杂的存储过程参数,总是或多或少有些问题;MSSQL企业管理器如果用了第三方驱动(比如是oracle),在导入导出数据也尚存在问题!更别提不是主流的IB数据库驱动。UniDAC支持Oracle、MSSQL、MYSQL、IB/FB、PostgreSQL。 2、对三层特性支持非常好!也许你也会问,三层也是访问DB,
ADO
也支持啊?!但三层最好方式是无状态方式,在高并发的处理中,一般不允许本地有数据集缓存。
ADO
没有单向数据集特性,所有的数据下载到本地,不停的开辟内存或释放大内存,对三层的内存是一个极大考验。TUniQuery有一个UniDirectional属性,支持单向速度,这点和DBX的想法不谋而合。况且,单向数据集特性速度非常快,在三层中,配合TDataSetProvider,中间件将其Data包发送到客户端,速度无可比拟。
ADO
也有流或XML格式包,但无论是XML或流格式,数据包远比CDS的包大几倍。CDS封包技术很好! 3、一些非常有用的属性或方法。常言道,细微之处见体贴。UniDAC有一些过人的方法或属性。比如,刷新单条记录(RefreshRecord)、多表更新的属性(UpdatingTable)、宏替换参数(Macros)、集成删除/新增/修改/刷新/锁定SQL语句、FetchRows,更让人称道的是引入了UpdateSQL组件。 在处理MSSQL新增后的自增
字段
,和
ADO
一样可以直接自动返回自增
字段
值,这一点,BDE不能做到、DBX不能做到、ZEOSDB不能做到。更令人称奇是,配合TUniUpdateSQL,还能自动返回自增
字段
值。 TUniUpdateSQL是一个好东西,
ADO
缺少TUdateSQL运作模式,默认的更新机制是
主键
字段
+已变化的
字段
做where条件。在一般情况下是没问题,但如果这个表没有
主键
或where条件中的
字段
小数位很长导致误餐,就会产生更新找不到记录。TUdateSQL可以保证这点,运作灵活又透明。 4、对oracle支持非常好。别的不说,光是一个oracle连接的Direct Mode,不用安装oracle官方肥硕客户端(网上也有精10M左右简版的客户端),只要客户机支持TCP/IP协议即可。如果用
ADO
连接Oracle,必须保证先安装oracle客户端,还要配置连接文件,一堆繁琐事情。UniDAC对oracle支持的非常完美,和专业化的DOA差不多! 当然,最大的缺点是,非常贵,最贵的档次,差不多可以买半套的D2009!
UniDAC 4.1.4 for D6-XE2
数据集组件,大家也许会首选
ADO
,然后说BDE太老了,DBX不敢用。其实delphi优秀的数据集组件真不少,除了上诉的数据集组件,还有ZEOSDB、SQL Direct、UniDAC等,要是专业的数据集组件,更是百花盛开,如FIBPLUS、SDAC、ODAC、DOA等等,商业和开源不尽其中!这里只讨论UniDAC和
ADO
的一些比较。 Delphi能发展到现在,和一些著名的第三方控件厂商大力支持分不开,这其中包括Devart公司(Corelab)公司。Corelab公司做数据集驱动非常出名,就拿ODAC、SDAC和DBX驱动来说,已经远胜其他同行的第三方控件公司。UniDAC是Devart公司最近的力作,将ODAC、SDAC、IBDAC等驱动综合集成在一块。UniDAC无论是做三层还是两层,都远胜于
ADO
。下面说一些UniDAC的优点: 1、非常完美的支持多数据库的数据集套件。这一点,
ADO
也支持多数据库,但
ADO
除了MSSQL驱动之外,其他驱动支持的非常差。就拿Oracle驱动来说,在调用oracle复杂的存储过程参数,总是或多或少有些问题;MSSQL企业管理器如果用了第三方驱动(比如是oracle),在导入导出数据也尚存在问题!更别提不是主流的IB数据库驱动。UniDAC支持Oracle、MSSQL、MYSQL、IB/FB、PostgreSQL。 2、对三层特性支持非常好!也许你也会问,三层也是访问DB,
ADO
也支持啊?!但三层最好方式是无状态方式,在高并发的处理中,一般不允许本地有数据集缓存。
ADO
没有单向数据集特性,所有的数据下载到本地,不停的开辟内存或释放大内存,对三层的内存是一个极大考验。TUniQuery有一个UniDirectional属性,支持单向速度,这点和DBX的想法不谋而合。况且,单向数据集特性速度非常快,在三层中,配合TDataSetProvider,中间件将其Data包发送到客户端,速度无可比拟。
ADO
也有流或XML格式包,但无论是XML或流格式,数据包远比CDS的包大几倍。CDS封包技术很好! 3、一些非常有用的属性或方法。常言道,细微之处见体贴。UniDAC有一些过人的方法或属性。比如,刷新单条记录(RefreshRecord)、多表更新的属性(UpdatingTable)、宏替换参数(Macros)、集成删除/新增/修改/刷新/锁定SQL语句、FetchRows,更让人称道的是引入了UpdateSQL组件。 在处理MSSQL新增后的自增
字段
,和
ADO
一样可以直接自动返回自增
字段
值,这一点,BDE不能做到、DBX不能做到、ZEOSDB不能做到。更令人称奇是,配合TUniUpdateSQL,还能自动返回自增
字段
值。 TUniUpdateSQL是一个好东西,
ADO
缺少TUdateSQL运作模式,默认的更新机制是
主键
字段
+已变化的
字段
做where条件。在一般情况下是没问题,但如果这个表没有
主键
或where条件中的
字段
小数位很长导致误餐,就会产生更新找不到记录。TUdateSQL可以保证这点,运作灵活又透明。 4、对oracle支持非常好。别的不说,光是一个oracle连接的Direct Mode,不用安装oracle官方肥硕客户端(网上也有精10M左右简版的客户端),只要客户机支持TCP/IP协议即可。如果用
ADO
连接Oracle,必须保证先安装oracle客户端,还要配置连接文件,一堆繁琐事情。UniDAC对oracle支持的非常完美,和专业化的DOA差不多!
unidac350d14pro
其实delphi优秀的数据集组件真不少,除了上诉的数据集组件,还有ZEOSDB、SQL Direct、UniDAC等,要是专业的数据集组件,更是百花盛开,如FIBPLUS、SDAC、ODAC、DOA等等,商业和开源不尽其中!这里只讨论UniDAC和
ADO
的一些比较。 Delphi能发展到现在,和一些著名的第三方控件厂商大力支持分不开,这其中包括Devart公司(Corelab)公司。Corelab公司做数据集驱动非常出名,就拿ODAC、SDAC和DBX驱动来说,已经远胜其他同行的第三方控件公司。UniDAC是Devart公司最近的力作,将ODAC、 SDAC、IBDAC等驱动综合集成在一块。UniDAC无论是做三层还是两层,都远胜于
ADO
。下面说一些UniDAC的优点: 1、非常完美的支持多数据库的数据集套件。这一点,
ADO
也支持多数据库,但
ADO
除了MSSQL驱动之外,其他驱动支持的非常差。就拿 Oracle驱动来说,在调用oracle复杂的存储过程参数,总是或多或少有些问题;MSSQL企业管理器如果用了第三方驱动(比如是oracle),在导入导出数据也尚存在问题!更别提不是主流的IB数据库驱动。UniDAC支持Oracle、MSSQL、MYSQL、IB/FB、 PostgreSQL。 2、对三层特性支持非常好!也许你也会问,三层也是访问DB,
ADO
也支持啊?!但三层最好方式是无状态方式,在高并发的处理中,一般不允许本地有数据集缓存。
ADO
没有单向数据集特性,所有的数据下载到本地,不停的开辟内存或释放大内存,对三层的内存是一个极大考验。TUniQuery有一个 UniDirectional属性,支持单向速度,这点和DBX的想法不谋而合。况且,单向数据集特性速度非常快,在三层中,配合 TDataSetProvider,中间件将其Data包发送到客户端,速度无可比拟。
ADO
也有流或XML格式包,但无论是XML或流格式,数据包远比 CDS的包大几倍。CDS封包技术很好! 3、一些非常有用的属性或方法。常言道,细微之处见体贴。UniDAC有一些过人的方法或属性。比如,刷新单条记录(RefreshRecord)、多表更新的属性(UpdatingTable)、宏替换参数(Macros)、集成删除/新增/修改/刷新/锁定SQL 语句、FetchRows,更让人称道的是引入了UpdateSQL组件。 在处理MSSQL新增后的自增
字段
,和
ADO
一样可以直接自动返回自增
字段
值,这一点,BDE不能做到、DBX不能做到、ZEOSDB不能做到。更令人称奇是,配合TUniUpdateSQL,还能自动返回自增
字段
值。 TUniUpdateSQL是一个好东西,
ADO
缺少TUdateSQL运作模式,默认的更新机制是
主键
字段
+已变化的
字段
做where条件。在一般情况下是没问题,但如果这个表没有
主键
或where条件中的
字段
小数位很长导致误餐,就会产生更新找不到记录。TUdateSQL可以保证这点,运作灵活又透明。 4、对oracle支持非常好。别的不说,光是一个oracle连接的Direct Mode,不用安装oracle官方肥硕客户端(网上也有精10M左右简版的客户端),只要客户机支持TCP/IP协议即可。如果用
ADO
连接 Oracle,必须保证先安装oracle客户端,还要配置连接文件,一堆繁琐事情。UniDAC对oracle支持的非常完美,和专业化的DOA差不多! 当然,最大的缺点是,非常贵,最贵的档次,差不多可以买半套的D2009!
DBReader
DBReader 是一个数据库管理工具,通过
ADO
能够连接到多种数据库. 通过对数据库的分层次显示,可以浏览,编辑各种数据对象. 主要特点: 基于
ADO
. 分层次(树状)的浏览数据库. 浏览,编辑各种数据对象,如表,视图,存储过程,
字段
,索引等等. 执行sql命令查询数据库,产生可编辑的数据集. 查看BLOB型数据(plain text,RTF,image). 管理ODBC. 运行不限长度的sql脚本. 描述: DBReader可以: 1.使用
ADO
通过OLE DB Provider或者ODBC连接到多种数据库. 2.浏览和编辑各种数据库对象,包括表,视图,
字段
,索引,以及存储对象定义(现在仅sqlserver). 3.显示表或视图相关的
主键
,外键,索引.显示
字段
的类型,长度,可否为null,等等. 4.树状显示数据库的结构(表,视图,
字段
,索引,存储过程,等等). 5.输入SQL命令查询数据库,产生可编辑的数据集. 6.查看/编辑BLOB型
字段
(plain text,RTF,image). 7.运行不限长度的sql脚本,可以从文件载入sql脚本,也可将sql脚本存入文件. 8.调用系统的ODBC管理功能,配置ODBC DSN(Data Source Name).
美容院管理系统1.0修改版(
ADO
)
本软件是基于 美容院管理系统1.0修改的 原是 Delphi+BDE+SqlServer2000 现改为 Delphi+
ADO
+SqlServer2000 原美容数据库中的表:CostMonthStatistic 中的year_month的
主键
取消,建立that_day
字段
的
主键
请下载该软件的网友自行修改原数据库。 没有增加新的功能,修改了其中运行的一些错误,不足之处希望能见谅。
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章