VB6.0的数据库编程方面按其难易程度可分为三类(由易到难); 1.使用数据库控制项和绑定控制项 2.使用数据库对象变量进行编程 3.直接调用ODBC2.0API 在使用VB进行数据库编程时,通常,会首先选择三种基本方法之一来进行数据库应用程序的方案设计, 现在就将以上三种设计方法的适应范围及其优缺点进行一个比较。 <1>. 使用数据库控制项和绑定控制项 1. 优点 它是三种方法中编码量最小的 不必了解CDBC2.0API的细节 允许使用标准的和第三方厂商制订的控制项 简化了错误处理 支持所有的动态集方法及属性 2. 缺点 不能存取快照对象(snapshop)对象或表格对象(都属于记录集对象) 不能存取数据库集合,比如表定义(TableDefs)字段(Fieds),索引( Indexes)及查询定义(QueryDefs) 只能存取部分ODBC2.0管理函数 不能进行真正的事务处理 有限的错误诊断功能 3. 应用 对中小规模的数据库表(通常少于一千条记录)只进行简章的浏览操作 基本SQL查询所对应的结果集长度有限(通常结果集的记录数小于一百, 这些记录从一个或两个长度有限的表中检索出来) 应用程序的数据输入/输出项较少(通常只涉及一个或两个长度有限的表、并且表中的字段数在10个左右且不具有关系完整性限制   <2>. 使用数据库对象变量进行编程 1. 优点 可以在程序中存取ODBC2.0的管理函数 可以控制多种记录集类型:Dynaset、Snapshop及Table记录集合对象 可以存取存储过程和查询动作 可以存取数据库集合对象,例如TableDefs、Fields、Indexes及QueryDefs具有真正的事务处理能力 , 包括启动事务 ( Begintrans) 、 提交事务(CommitTrans)及回滚事务(Rollback) 2. 缺点 比使用数据控制项的方法编码量较大 只能进行间接的错误处理和错误恢复 对每个数据库操作没有细粒度的控制 对结果集和包含结果集的内丰资源的操作受到限制 同直接使用ODBC2.0API函数的方法相比性能较低 3. 应用 应用程序需要在执行期间动态地建立表、字段及索引 应用程序涉及同步更新几张表(但在逻辑上保持一致性)的复杂事务 应用程序使用结果集而不是Dynaset的窗体(FORMS),例如Snapshots或Tables,这里是设计要考虑的关键 应用程序的表非常大,多于1000条记录 应用程序具有复杂的数据输入/输出项,它涉及许多内部相关的字段并且包括数据库参照完整性或 一致性规则 应用程序需要执行一些额外的操作和对结果集的查询后处理, 尤其是需要很高的数据格式化显示 应用程序需要利用复杂的ODBC管理功能以选择、配置、校验及建立各种数据源 应用程序需要在执行期间“显示”数据库的基本结构 应用程序需要使用复杂的多码索引方式来检索或更新记录 <3>. 直接调用ODBC2.0API 1. 优点 可以直接参与结果集的开发、管理及规范化 对结果集游标提供了更多的控制,并且提供了更多的游标类型和执行动作 能够确定ODBC驱动程序及SQL的一致性级别 可以更好地控制Windows的执行调度及资源利用 其他方面同其他方法差不多,因此这种方法很可能具有最好的性能 2. 缺点 较其他两种方法需要大量的代码 代码复杂并且要求程序员具有编制API调用的经验 在网络上Visual Basic运行期间库的错误处理缺乏安全性,因此代码运行期间出现的错误所造成的后果会非常严重 3. 应用 如果系统环境为客户机/服务器模式下的大规模多用户环境,那么应用程序必须都能够准确地解决可能出现的系统错误和失败 应用程序强调资源使用,这里如何对内存、 网络服务器资源进行直接控制是首要的考虑因素 应用程序使用超大规模数据库,例如数据库表可能包含几万或几十万条记录