0

我正在尝试使用发送命令ADODB.CommandVBA 发送命令。我知道连接和命令可以正常工作,因为它们在代码中的多个地方使用。但是,我无法让双重插入/选择工作。我不断得到一个计数为 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)
4

1 回答 1

0

我通过使用解决了这个问题

Set reader2 = reader2.NextRecordset

命令执行后。批处理命令创建一个记录集列表,其中第一个是属于插入而不是选择的记录集。

于 2013-11-05T17:56:25.367 回答