你能用简单的英语向我解释这里发生了什么吗:
rs.Open "batchinfo", oConn, adOpenKeyset, adLockOptimistic, adCmdTable
我需要做的是能够将值插入到名为 batchinfo 的表中。这是进行 OPEN 的最佳方式吗?
我唯一要做的就是插入值。
最佳答案
adCmdTable 的使用通常会导致 ADO 生成一个 select * from thetable
命令,该命令由 OLE DB 提供程序执行。如果您更新生成的记录集,提供程序(或者实际上是其上的 ADO)通常会生成格式为 update table set field = ?, ... WHERE ...
的语句。 WHERE 子句是潜在的问题。如果表上有主键,则 WHERE 子句将包含更新记录的主键,因此执行效率相当高。由于您只是插入值,因此应该会生成简单的 INSERT 语句,并且应该非常高效。
请注意,如果提供程序支持它,则 adCmdTableDirect 将导致直接打开表,并且更新将非常高效。我不知道 MySQL 是否支持该选项;我认为没有多少供应商支持这一点。
关于sql - 这个 ADO OPEN 方法有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2823664/