我的毕业设计是用VB做一个通用无纸化考试系统,数据库用的是ACCESS,在用ADO连接是出现问题,建立数据库连接是新建了一个模块,打开数据库连接,代码如下:
Sub InitProgram()
DataPath = App.Path & "e:\shiyeling\kaoshixitong.mdb"
cnExam.Open "DSN=ExamSystem", "", "1111"
IsLocked = False
End Sub
在ODBC也创建了数据源 ,但是在运行时只要出现访问这个库里的表就会出现错误:数据库引擎找不到该表,是什么原因啊,我是做毕业设计,时间很紧,因为这个问题进行不下去了,大家帮帮忙啊,小女子这厢不胜感激!
Sub InitProgram()
DataPath = App.Path & "e:\shiyeling\kaoshixitong.mdb"
cnExam.Open "DSN=ExamSystem", "", "1111"
IsLocked = False
End Sub
在ODBC也创建了数据源 ,但是在运行时只要出现访问这个库里的表就会出现错误:数据库引擎找不到该表,是什么原因啊,我是做毕业设计,时间很紧,因为这个问题进行不下去了,大家帮帮忙啊,小女子这厢不胜感激!
Public conn As New ADODB.ConnectionPrivate Sub Form_Load()
Dim strconn As String
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
conn.CursorLocation = adUseClient
conn.Open strconn
If rs.State = 1 Then rs.Close
rs.Open "Select * from People", conn, adOpenKeyset, adLockPessimistic
Set Me.DataGrid1.DataSource = rs End With
End Sub
'以下两个变量分别是判断是否登录数据库成功的变量
'和一个链接数据库的对象变量
Private blnConnected As Boolean
Public gcnnConnection As ADODB.Connection'功能:连接数据库并执行判断是否连接成功
'输入:
' cnnConnection ADODB.Connection 要创建的连接
'输出:gADOConnection Boolean 返回的判断结果
'********************************************************************
Public Function gADOConnection(ByRef cnnConnection As ADODB.Connection) As Boolean
Dim itsConnectionString As String
Dim lngErrNum As Long
On Error GoTo ADOErr
Set cnnConnection = New ADODB.Connection
cnnConnection.Provider = "microsoft.jet.oledb.4.0"
itsConnectionString = "data source=" & App.Path & "\student.mdb"
cnnConnection.ConnectionString = itsConnectionString
cnnConnection.CursorLocation = adUseClient
cnnConnection.Open
gADOConnection = True
ADOErr:
lngErrNum = err.Number
If lngErrNum <> 0 Then
gADOConnection = False
End If
End Function'******************************************************************
'功能:获取ADO记录集
'输入:
' strSQL String 用于查询SQL数据库的SQL语句
'输出: GetRecordSet Recordset 返回的记录集
'*******************************************************************
Public Function GetRecordSet(strsql As String) As ADODB.Recordset
On Error GoTo err
Dim rsTemp As ADODB.Recordset
Set rsTemp = New ADODB.Recordset
Set gcnnConnection = New ADODB.Connection
blnConnected = gADOConnection(gcnnConnection)
If blnConnected = True Then
'设置游标类型和数据库锁定类型
rsTemp.Source = strsql
Set rsTemp.ActiveConnection = gcnnConnection
rsTemp.CursorType = adOpenKeyset
rsTemp.LockType = adLockOptimistic
rsTemp.Open
Set GetRecordSet = rsTemp
Else
Set GetRecordSet = Nothing
End If
Exit Function
err:
MsgBox err.Number & " " & err.Description
End FunctionPublic Sub insertValue(strsql As String)
Set gcnnConnection = New ADODB.Connection
blnConnected = gADOConnection(gcnnConnection)
If blnConnected = True Then
gcnnConnection.BeginTrans
gcnnConnection.Execute (strsql)
gcnnConnection.CommitTrans
End If
End Sub
DataPath = App.Path & "e:\shiyeling\kaoshixitong.mdb"看你的意思,应该改成:
DataPath = App.Path & "\kaoshixitong.mdb"建立连接可以这样写:
声明中:
Private strConStr As String
Private MainConn As ADODB.Connection
过程中:
strConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataPath+";Persist Security Info=False"
Set MainConn = New ADODB.Connection
MainConn.Open strConStr