CREATE  proc  getBh1
  @bhmc varchar(12)ASDeclare @a Varchar(8)
Select @a = ''Update bh1 set lsh=lsh +1 Where bhmc=@bhmcselect @a=dm+replicate('0',(8-len(dm)-len(  Cast((lsh) as varchar))))+Cast((lsh) as varchar) from bh1 where bhmc=@bhmc
select @a as bh
go调用:
Dim sql1 As String
       
              Dim rs As ADODB.Recordset
       
             sql1 = "EXEC getBh1 'krbh'"
            Set rs = conn.Execute(sql1, , adCmdText)
            
            MsgBox rs.Fields.Count           GetBh1 = rs.Fields("bh").Value               rs.Close
       
       Set rs = Nothing但在SQL SERVER查询分析器中能返回一个值。

解决方案 »

  1.   

    首先 MsgBox rs.Fields.Count 这句有没有返回值?
    然后这句
    GetBh1 = rs.Fields("bh").Value
    改成GetBh1 = rs.Fields(0).Value
    最后检查SQL SERVER查询分析器中能返回一个值,这个值是否期望值.
    按代码看,RS的结果集应该为
    select @a=dm+replicate('0',(8-len(dm)-len(  Cast((lsh) as varchar))))+Cast((lsh) as varchar) from bh1 where bhmc=@bhmc
    如果BHMC没有"KRBH"就没有记录返回.
      

  2.   

    http://blog.csdn.net/online/archive/2004/08/05/66376.aspxConn.CursorLocation = adUseClient '设置为客户端