以前写的 看看dll中的模块 Option ExplicitPublic Function OpenConnection() As ADODB.Connection Dim ado As New ADODB.Connection On Error GoTo ErrorHandler
ado.CursorLocation = adUseClient ado.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=MyBookShop;Data Source=yang" ado.Open Set OpenConnection = ado Exit Function ErrorHandler: err.Raise err.Number, "数据库连接", err.Description End Function类模块:我直接返回了记录集,你可以自己修改 Public Function Find(ByVal sid As Integer) As ADODB.Recordset Dim strSql As String On Error GoTo err strSql = "select * from books where typeid=" & sid Dim conn As ADODB.Connection Set conn = OpenConnection() Dim rs As ADODB.Recordset Set rs = conn.Execute(strSql)Set Find = rsIf Not conn Is Nothing Then Set conn = Nothing End IfExit Functionerr: If Not conn Is Nothing Then Set conn = Nothing End Iferr.Raise err.Number, "CateGoryDataService.CateGoryData.Find", err.DescriptionEnd Function
注册后,引用 Private Sub tvTreeView_NodeClick(ByVal Node As MSComctlLib.Node) Dim Nt As ADODB.Recordset Dim Cnt, i Dim tv As CateGoryDataService.CateGoryData Set tv = New CateGoryDataService.CateGoryData On Error GoTo ErrorHandler Set Nt = tv.Find(Node.Key) Cnt = Nt.RecordCount
ListView1.ListItems.Clear Dim LItem As ListItem For i = 0 To Cnt - 1 Set LItem = ListView1.ListItems.Add(, , Nt.Fields("ISBN")) LItem.SubItems(1) = Nt.Fields("BookName") LItem.SubItems(2) = Nt.Fields("UnitPrice") Next ErrorHandler: If Not Nt Is Nothing Then If Nt.State = 1 Then Nt.Close End If Set Nt = Nothing End If End Sub
看看dll中的模块
Option ExplicitPublic Function OpenConnection() As ADODB.Connection
Dim ado As New ADODB.Connection
On Error GoTo ErrorHandler
ado.CursorLocation = adUseClient
ado.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=MyBookShop;Data Source=yang"
ado.Open
Set OpenConnection = ado
Exit Function
ErrorHandler:
err.Raise err.Number, "数据库连接", err.Description
End Function类模块:我直接返回了记录集,你可以自己修改
Public Function Find(ByVal sid As Integer) As ADODB.Recordset
Dim strSql As String
On Error GoTo err
strSql = "select * from books where typeid=" & sid
Dim conn As ADODB.Connection
Set conn = OpenConnection()
Dim rs As ADODB.Recordset
Set rs = conn.Execute(strSql)Set Find = rsIf Not conn Is Nothing Then
Set conn = Nothing
End IfExit Functionerr:
If Not conn Is Nothing Then
Set conn = Nothing
End Iferr.Raise err.Number, "CateGoryDataService.CateGoryData.Find", err.DescriptionEnd Function
Private Sub tvTreeView_NodeClick(ByVal Node As MSComctlLib.Node)
Dim Nt As ADODB.Recordset
Dim Cnt, i
Dim tv As CateGoryDataService.CateGoryData
Set tv = New CateGoryDataService.CateGoryData
On Error GoTo ErrorHandler
Set Nt = tv.Find(Node.Key)
Cnt = Nt.RecordCount
ListView1.ListItems.Clear
Dim LItem As ListItem
For i = 0 To Cnt - 1
Set LItem = ListView1.ListItems.Add(, , Nt.Fields("ISBN"))
LItem.SubItems(1) = Nt.Fields("BookName")
LItem.SubItems(2) = Nt.Fields("UnitPrice")
Next
ErrorHandler:
If Not Nt Is Nothing Then
If Nt.State = 1 Then
Nt.Close
End If
Set Nt = Nothing
End If
End Sub