带插入和选择的ADODB命令

时间:2013-11-05 16:03:32

标签: sql sql-server vba adodb

我正在尝试使用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)

1 个答案:

答案 0 :(得分:0)

我使用

解决了这个问题
Set reader2 = reader2.NextRecordset

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