Sql 通过ADO在update语句中使用select

Sql 通过ADO在update语句中使用select,sql,vbscript,adodb,Sql,Vbscript,Adodb,我可以在我的数据库工具中运行此查询没有问题: 更新表1 SET NAME='John' 其中userid在SELECT Maxuserid中 来自表1 其中userid=NULL 它运行成功。当我尝试从VBScript运行完全相同的语句时,我没有得到任何错误,更新也没有发生。谁能告诉我我做错了什么 公共函数GetAvailableRow Dim conn,指挥部 出错时继续下一步 Set conn=CreateObjectadodb.connection Set command=CreateOb

我可以在我的数据库工具中运行此查询没有问题:

更新表1 SET NAME='John' 其中userid在SELECT Maxuserid中 来自表1 其中userid=NULL 它运行成功。当我尝试从VBScript运行完全相同的语句时,我没有得到任何错误,更新也没有发生。谁能告诉我我做错了什么

公共函数GetAvailableRow Dim conn,指挥部 出错时继续下一步 Set conn=CreateObjectadodb.connection Set command=CreateObjectadodb.command 连接隔离级别=1048576 连接开放驱动程序={AdaptiveServerEnterprise};Server=myserver;port=myport;db=mydatabase;uid=用户id;pwd=密码; command.ActiveConnection=conn command.CommandText=UPDATE table1 SET name='John'其中userid在从table1中选择MAXuserid,其中userid=NULL 康涅狄格州 命令,执行 康涅狄格州委员会 关闭连接 Set命令=无 设置连接=无 端函数 where子句中的userid=NULL将始终返回unknown。因此,更新不会发生

use userid改为null。

where子句中的userid=null将始终返回unknown。因此,更新不会发生


use userid改为null。

只是想知道OP say如何在db上运行查询,首先就可以了。太棒了!我甚至没想过。这就解决了问题。谢谢大家!@JuanCarlosOropeza-我向你保证这是有效的。我在DBArtisan中运行了三次,每次都有效。@JuanCarlosOropeza..查询将运行,但where子句不会返回任何要更新的行。@JuanCarlosOropeza-我不明白为什么它会起作用,但我以我的名誉向您保证,它会找到可用的行并运行更新。不是开玩笑。只是想知道OP say在db上运行查询在第一位时是如何工作的。很好!我甚至没想过。这就解决了问题。谢谢大家!@JuanCarlosOropeza-我向你保证这是有效的。我在DBArtisan中运行了三次,每次都有效。@JuanCarlosOropeza..查询将运行,但where子句不会返回任何要更新的行。@JuanCarlosOropeza-我不明白为什么它会起作用,但我以我的名誉向您保证,它会找到可用的行并运行更新。别开玩笑了。