0

在记录集上进行这样的查询是否有效

rs.open "select * from table where vd=1; update table set vd1 = 1 where vd=2 or vd=3;"

或者有什么问题吗

谢谢

4

2 回答 2

0

它不起作用 - 您必须将它们作为单独的命令执行

大概您已声明rs为记录集,因此您可以使用它来返回SELECT语句结果。

我会使用 SQL 命令来执行第二条语句。

于 2008-12-03T09:49:18.880 回答
0

只能使用单个 SELECT 语句定义记录集(当然,如果它们具有相同的列数,您可以 UNION 多个选择)。

任何操作 SQL(INSERT、UPDATE、DELETE)都不能使用记录集执行,而是使用 .Execute 方法。

如果您使用 ADO,.Execute 也可用于 SELECT(它返回行),但 Jet 的本机数据接口层 DAO 不能 -- .Execute 仅适用于操作查询。这对我来说似乎是明智的,但对我个人而言,ADO 似乎总是在浪费时间。

此外,Jet(Access 默认使用的数据库引擎)不能像许多基于服务器的数据库引擎一样一次执行多个 SQL 语句。对于那些习惯于批处理 SQL 语句的人来说,这并不是一个很大的限制——它只是不同而已。

于 2008-12-05T03:57:53.940 回答