我正在尝试使用VBA中的ADODB.Command
发送命令。我知道连接和命令正常工作,因为它们在代码中的几个地方使用。但是,我无法使双插入/选择工作。我一直在使用计数为0的记录集。我更熟悉使用C#SqlCommand对象,它允许这种堆叠命令。有没有办法在VBA中使用ADODB执行此操作?代码如下:
注意:reader2是ADODB.Recordset
。使用TSQL连接到Microsoft SQL Server
comm2.CommandText = "INSERT INTO tblTest (F1,F2,F3,F4,F5) VALUES(?,?,'Running',?,0); SELECT SCOPE_IDENTITY()"
comm2.Parameters.Append comm2.CreateParameter("@f1", adVarChar, adParamInput, Len(f1) + 1, f1)
comm2.Parameters.Append comm2.CreateParameter("@f2", adVarChar, adParamInput, 1, f2)
comm2.Parameters.Append comm2.CreateParameter("@f3", adDate, adParamInput, 0, Now)
Set reader2 = comm2.Execute
scopeId = reader2.Fields(0)
reader2.Close
comm2.Parameters.Delete (0)
comm2.Parameters.Delete (0)
comm2.Parameters.Delete (0)
答案 0 :(得分:0)
我使用
解决了这个问题Set reader2 = reader2.NextRecordset
执行命令后。批处理命令创建记录集列表,其中第一个是属于插入的记录集,而不是选择。