Delphi
中的
ODBC
和
ADO
ADO
和
ODBC
都用来实现数据库的访问,都是对底层数据驱动的封装,在编程时都可以满足对数据库的访问。在
Delphi
中也提供了
BDE
和
ADO
组件封装,前期做项目的时候数据库采用的
Access
和
SQLServer
,没有考虑就用的
ADO
,后来的项目中用到了
MySQL
,而没有
ADO
直接访问
MySQL
的驱动,又觉得采用
ODBC
是最好的,因为所有的数据库都提供
ODBC
驱动。后来才发现
ADO
也可以直接使用
ODBC
的驱动,简直是太
Faint
了。
据了解,
ADO
的速度和支持程度要比
ODBC
的好,看来以后所有的数据库访问都可以大胆放心的使用
ADO
了,大不了改一下连接串就可以支持
ODBC
了。
但在
Delphi
中
BDE
和
ADO
控件还有很多的不同,感触最深的就是两个控件中
Query
的更新操作了。
BED
的
TQuery
大部分情况只能返回只读的记录集而不能修改,除非你设置
TQuery
的
RequestLive
属性,并且在结果数据集中只包含一个表,注意不能是多个表的查询。而
TADOQuery
就没有此限制,随便写
SQL
语句然后直接更新字段的值,最后
Post
就可以了。当然对于
TQuery
返回的不能修改的记录集也可以采用一种方法弥补,那就是用
TUpdateSQL
配合,可以设置
TQuery
的
UpdateObject
属性为一个
TUpdateSQL
,设置
TUpdateSQL
的更新语句就可以了。