vb:
Public Function List() As ADODB.Recordset
   Dim rs As New ADODB.Recordset
   Dim conn As New ADODB.Connection
   conn.ConnectionString = "dsn=db;username=sa;password=sa"
   conn.Open
   rs.Open "select * from user", conn
   List = rs
   
End Function
如上,加上两个New

解决方案 »

  1.   

    这段代码在一般vb form 里是没问题
    可是要写在activex dll 里就不行了
    估计因为com是不能输出recordset 的
      

  2.   

    是不是应该这样:   Dim rs As ADODB.Recordset
       Dim conn As ADODB.Connection
       set rs =new adodb.recordset
       set conn = new adodb.connection
      

  3.   

    Public  Function  rsresult(strsql  As  String)  As  Recordset 
    Dim  mycnn  As  Connection 
    Dim  myset  As  Recordset 
    Dim  strconnstring  As  String 
    'strconnstring  =  "provider=sqloledb.1; 
    password=;"  &  "user  id=sa;"  &  "initial  catalog=vlog;"  &  "data  source=hpe60; 
    connect  timeout=15" 
    strconnstring  =  "driver={sql  server};server=yang;uid=sa;pwd=;   
    database=dcss" 
    'mycnn.ConnectionString  =  strconnstring 
    mycnn.Open  strconnstring 
    myset.ActiveConnection  =  mycnn 
    myset.Open  strsql,  mycnn,  3,  adCmdText 
    Set  rsresult  =  myset 
    End  Function