Dim cmd As ADODB.Command
Dim para As ADODB.Parameter
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = GDBC
cmd.CommandText = "sp_bqwxtj"
cmd.CommandType = adCmdStoredProc
Set para = cmd.CreateParameter()
para.Name = "@strgc"
para.Type = adVarChar
para.Size = 30
para.Value = Combo2.Text
para.Direction = adParamInput
cmd.Parameters.Append para
Set para = cmd.CreateParameter()
para.Name = "@strmsgc"
para.Type = adVarChar
para.Size = 30
para.Value = Combo1.Text
para.Direction = adParamInput
cmd.Parameters.Append paracmd.Execute()
怎样将这个存储过程的结果集存到一个临时表X呢?
该怎么写,哪位高手指导下

解决方案 »

  1.   

    存入一个临时表做什么用的?临时的数据还是要取出来用啊,不如直接放到一个记录集里面
    dim rs as adodb.recordset
    ……
    set rs=cmd.Execute()
    (看了一下,上次也回了你一个帖子,给了个简单写法。同样可以那样执行存储过程)创建临时表SQL
    CREATE TABLE ##MyTempTable (cola INT)
    INSERT INTO ##MyTempTable VALUES (1)
    或者干脆可以用table类型:
    DECLARE @t TABLE(col VARCHAR(50))
    INSERT INTO @t
    SELECT 'xx' UNION ALL
    SELECT 'yy' UNION ALL
    SELECT 'zz'
      

  2.   

    上回谢谢你了,但您的方法加条件的时候需要加很多字符拼接。。我十在搞的有点晕了因为有时候条件很多的。
    这个临时表我想拿到VB里查询用的,可以给它加查询条件,可能您要说了用动态SQL在存储过程里可以实现啊。但还是字符拼接的问题总报错,不怎么会在存储过程中字符拼接的语法。