在VB中如何把一个对像,如结果集(recorderset) 做为参数传递给函数进行处理??????如:主程序:
Dim rs As New ADODB.Recordset
dim strSQL as string
strSQL="select......."
set rs=cnn.execute(strSQL)
myfunction(rs)
...........
myfunction过程 public sub myfunction(这里怎么写)
内部还需不需要再处理,如何处理呢?
end sub
我自已这样写但是提示我说类型不对。public sub myfunction(recS as adodb.recorderset)
do while recS.eof
................
loop
end sub
Dim rs As New ADODB.Recordset
dim strSQL as string
strSQL="select......."
set rs=cnn.execute(strSQL)
myfunction(rs)
...........
myfunction过程 public sub myfunction(这里怎么写)
内部还需不需要再处理,如何处理呢?
end sub
我自已这样写但是提示我说类型不对。public sub myfunction(recS as adodb.recorderset)
do while recS.eof
................
loop
end sub
写错了,改成recordset就可以了
public sub myfunction(recS as adodb.recorderset)
dim rs as adodb.recordset
set rs = recs
do while recS.eof
................
loop
end sub
public sub myfunction(recS as adodb.recordset)
do while recS.eof
................
loop
end sub
recorderset该是Recordset吧
Dim adocon As ADODB.Connection
Private Sub Form_Load()
Set adocon = New ADODB.Connection
adocon.ConnectionString = "Provider = SQLOLEDB.1;Password = ; Persist Security Info = True;User ID = sa;Initial Catalog = DRUGDB; Data Source = 192.168.30.122"
adocon.Open
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select user_id from users", adocon, adOpenForwardOnly, adLockReadOnly, adCmdText
ProcRs rs
rs.Close
Set rs = Nothing
End Sub
Private Sub ProcRs(rs As ADODB.Recordset)
If Not rs.EOF Then
rs.MoveFirst
Do While Not rs.EOF
do something
rs.MoveNext
Loop
End If
End Sub
rs.open .......function aa(byref objRs as adodb.recordset)
'这里操作 objRs
'如果关闭了 objRs
' rs 也会关闭
end function
recorderset该是Recordset吧
嘿嘿
Option Explicit
Dim Cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
Dim rs As New ADODB.Recordset
Dim strSQL As String
strSQL = "select * from hrms_emp "
Set rs = Cnn.execute(strSQL)
Myfunction rs
End SubPrivate Sub Form_Load()
Cnn.ConnectionString = Adodc1.ConnectionString
Cnn.Open
End SubPublic Sub Myfunction(ByVal recS As ADODB.Recordset)
Do While Not recS.EOF
Debug.Print recS!empname
recS.MoveNext
Loop
End Sub