如何获得conn的执行结果?
我在写一个SQL查询器,因为要操作服务器上的数据,但是又不想安装SQL。
我设置了一个文本框txtSQL,当点击按钮时,代码为:conn.execute txtSQL
如果在SQL查询分析器上运行查询,我们可以看到返回结果,比如“XX行记录受影响”。那么,我应该如何获得返回的结果?
[解决办法]
1、新建一个带返回值的存储过程
CREATE PROCEDURE GetRowcount
@SQL NVARCHAR(4000),
@b INT=0 OUTPUT
AS
SET NOCOUNT ON
EXEC SP_EXECUTESQL @SQL
SET @b=@@ROWCOUNT
GO
2、VB中调用
Dim cd As ADODB.Command
Dim lngRowcount As Long '返回的结果
Set cd = New ADODB.Command
cd.CommandText = "GetRowcount "
cd.CommandType = adCmdStoredProc
Set cd.ActiveConnection = Conn
cd.Parameters( "@SQL ").Value = txtSQL
cd.Execute
lngRowcount = cd.Parameters( "@b ").Value
[解决办法]
dim lRows as long
conn.execute txtSQL, lRows
debug.print lRows & " 行记录受影响 "