CDaoDatabase::Execute

void Execute( LPCTSTR lpszSQL, int nOptions = 0);
  throw( CDaoException,CMemoryException );

参数:
lpszSQl指向一个以null结尾的字符串。该字符串是一个待执行的有效SQL语句。
nOptions一个指定查询完整性选项的整数。可以使用位操作OR(|)组合下述的常量(假设该组合是有意义的——例如,不能组合使用dbInconsistent和dbConsistent)。
·dbDenyWrite不允许其它用户同时在写。
·dbInconsistent(缺省设置)不一致更新。
·dbConsistent一致更新。
·dbSQLPassThrough传送SQL语句。即把SQL语句传送给ODBC数据源处理。
·dbFailOnError出错时回滚更新。
·dbSeeChanges其它用户正在改变本用户正编辑的数据,则产生运行时错误。
注意:
如果dbInconsistent和dbConsistent都被选中,或者都没有选中,则采用缺省设置dbInconsistent。有关这些常量的解释,请参阅DAO帮助中的“Execute方法”。

说明:
本函数用于在数据库上执行动作查询或SQL命令。它只用于不返回结果的动作查询和SQL命令。它不能用于选择查询,因为选择查询会返回结果。
要了解有关动作查询的定义,请参阅DAO帮助中的“动作查询”和“Execute方法”。
提示:
在给出了语法上正确的SQL语句并有相应的权限,Execute可以同时修改或删除多行。不过,在使用Execute进行更新或删除时,最好使用dbFailOnError选项。设置了该选项后,如果有的待更新或删除的记录被别的用户上了锁,MFC就会产生一个CDaoException类型的异常并回滚此调用中所有成功的修改。总可以调用GetRecordsAffected来查看Execute调用影响到的记录数。调用GetRecordsAffected可以查看最近的Execute调用影响到的记录数。例如,它可以返回一次动作查询中删除、更新或插入的记录数。注意,返回的数目没有反映级联更新或级联删除的效应。
Execute函数不返回记录集。如果使用它执行一个要返回记录集的查询,MFC将会产生一个CDaoException类型的异常(没有对应于CDatabase::ExecuteSQL的ExecuteSQL成员函数)。
要了解有关使用Execute函数的更详细的信息,请参阅联机文档“Visual C++程序员指南”中的“DAO QueryDef:使用查询定义”