Public db As Database
Public rs As Recordset
Sub main()
set db=db.opendatabase’("数据库路径"<建议用相对路径--就是把数据库文件和工程文件放在同一目录下--相对路径就是APP.PATH+"数据库名带后缀">)
‘第一启动窗体<比如:form1>.show
Form1.show
end sub
‘以后在其他窗体中如果要调用数据库只用在窗体中写代码
set rs=openrecordset’(<可以是数据库的表--如"student",也可以是查询语句--如"select* form student">)
‘这时数据库的内容都存在FILE集合里
‘比方说set rs=openrecordset("select* form student")
rs.file(0)’就是SQL语句查询结果的第一列
rs.files’就是整个结果
‘使用text1.text=rs.file(0)就可以把文本框于查询结果帮定起来
‘如果要对数据库进行修这时用以下代码:
db.Execute ‘(<SQL语句--如"insert into student(sno,sname) value("","")">)
‘代码:
Public pubConn As New ADODB.Connection
Public rsPub As New ADODB.Recordset
Const dbUser As String = ""
Const dbPass As String = ""
Dim strConn As String Function appPath() As String
If Right(App.Path, 1) <> "\" Then
appPath = App.Path & "\"
Else
appPath = App.Path
End If
End Function Sub openConn()
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & appPath & "mdb\resource.mdb;Persist Security Info=False" '& "Jet OLEDB Database Password=dbPass"
If pubConn.State = adStateClosed Then
pubConn.CursorLocation = adUseClient
pubConn.Open strConn
End If
End Sub Sub closeConn()
On Error Resume Next
pubConn.Close
End Sub Function rsData(ByVal strSql As String) As Integer
On Error GoTo err
Call pssData("open")
Call openConn
Set rsPub = Nothing
If rsPub.State = adStateOpen Then rsPub.Close
rsPub.Open strSql, pubConn, adOpenForwardOnly, adLockReadOnly
If Not (rsPub.BOF And rsPub.EOF) Then
rsData = rsPub.RecordCount
Else
rsData = 0
End If
Call pssData("close")
Exit Function
err:
rsData = -1
Call pssData("close")
End Function Function exeData(ByVal strSql As String, Optional ByVal isChangePass As Boolean = False, Optional ByVal sNewPass As String = "") As String
Call pssData("open")
Call openConn
If isChangePass Then
pubConn.Execute "ALTER DATABASE PASSWORD " & sNewPass & " " & dbPass
Else
pubConn.Execute strSql
If pubConn.Errors.Count = 0 Then
exeData = "ok"
Else
exeData = pubConn.Errors(0)
End If
End If Call pssData("close")
End Function Sub pssData(stype As String)
' Select Case sType
' Case "open"
' bPssData(0) = 0
' bPssData(1) = 1
' Case "close"
' bPssData(0) = 1
' bPssData(1) = 0
' End Select
'
' Open appPath & "mdb\resource.mdb" For Binary Access Write As #1
' Put #1, 1, bPssData()
' Close #1
End Sub
上面那段程序为什么在运行时,就说红色那行未定义?该怎么解决呢?
Public rs As Recordset
Sub main()
set db=db.opendatabase’("数据库路径"<建议用相对路径--就是把数据库文件和工程文件放在同一目录下--相对路径就是APP.PATH+"数据库名带后缀">)
‘第一启动窗体<比如:form1>.show
Form1.show
end sub
‘以后在其他窗体中如果要调用数据库只用在窗体中写代码
set rs=openrecordset’(<可以是数据库的表--如"student",也可以是查询语句--如"select* form student">)
‘这时数据库的内容都存在FILE集合里
‘比方说set rs=openrecordset("select* form student")
rs.file(0)’就是SQL语句查询结果的第一列
rs.files’就是整个结果
‘使用text1.text=rs.file(0)就可以把文本框于查询结果帮定起来
‘如果要对数据库进行修这时用以下代码:
db.Execute ‘(<SQL语句--如"insert into student(sno,sname) value("","")">)
‘代码:
Public pubConn As New ADODB.Connection
Public rsPub As New ADODB.Recordset
Const dbUser As String = ""
Const dbPass As String = ""
Dim strConn As String Function appPath() As String
If Right(App.Path, 1) <> "\" Then
appPath = App.Path & "\"
Else
appPath = App.Path
End If
End Function Sub openConn()
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & appPath & "mdb\resource.mdb;Persist Security Info=False" '& "Jet OLEDB Database Password=dbPass"
If pubConn.State = adStateClosed Then
pubConn.CursorLocation = adUseClient
pubConn.Open strConn
End If
End Sub Sub closeConn()
On Error Resume Next
pubConn.Close
End Sub Function rsData(ByVal strSql As String) As Integer
On Error GoTo err
Call pssData("open")
Call openConn
Set rsPub = Nothing
If rsPub.State = adStateOpen Then rsPub.Close
rsPub.Open strSql, pubConn, adOpenForwardOnly, adLockReadOnly
If Not (rsPub.BOF And rsPub.EOF) Then
rsData = rsPub.RecordCount
Else
rsData = 0
End If
Call pssData("close")
Exit Function
err:
rsData = -1
Call pssData("close")
End Function Function exeData(ByVal strSql As String, Optional ByVal isChangePass As Boolean = False, Optional ByVal sNewPass As String = "") As String
Call pssData("open")
Call openConn
If isChangePass Then
pubConn.Execute "ALTER DATABASE PASSWORD " & sNewPass & " " & dbPass
Else
pubConn.Execute strSql
If pubConn.Errors.Count = 0 Then
exeData = "ok"
Else
exeData = pubConn.Errors(0)
End If
End If Call pssData("close")
End Function Sub pssData(stype As String)
' Select Case sType
' Case "open"
' bPssData(0) = 0
' bPssData(1) = 1
' Case "close"
' bPssData(0) = 1
' bPssData(1) = 0
' End Select
'
' Open appPath & "mdb\resource.mdb" For Binary Access Write As #1
' Put #1, 1, bPssData()
' Close #1
End Sub
上面那段程序为什么在运行时,就说红色那行未定义?该怎么解决呢?
set db=db.opendatabase