【发布时间】:2009-09-09 14:36:27
【问题描述】:
我想使用 DAO 对 Access 数据库执行查询列表。 “Database.Execute()”方法似乎适合此,它只能执行“操作查询”,即不返回结果集的查询 (MSDN reference)。对于返回记录的查询,可以使用“Database.OpenRecordset()”。如果传递了错误类型的查询,这两种方法都会抛出异常。
在列表中有操作查询和选择查询,我如何预先决定哪些会返回记录,哪些不会?
【问题讨论】:
-
为什么您甚至想要执行仅是 SELECT 的查询,除非您要为用户显示它们?除非您使用表单或报表,否则您不应该在 Access 中执行此操作。
-
您确实需要解释您要完成的工作,因为执行任意连续的 SELECT 和 DML 查询在现实世界中没有任何意义。
-
当您想要检查数据访问层时,这对于(单元)测试目的是有意义的:检查之前/之后的状态,并可能恢复到某个状态。
-
@David 列表中的每个查询首先保存在数据库中,然后执行。这样做的原因是某些查询以后可以使用以前保存的查询。当然不需要执行 SELECT 查询,这正是我想知道哪些查询返回结果的原因。