Adodc控件可以在属性叶面对数据库进行连接,但是这样的连接数据库很死,而且弄不好,连接字符就没有了,所以在程序中用代码进行连接的话,方便得多。 在增加与删除其实Adodc控件与Recordset的区别只是把 Recordset更换成Adodc1.Recordset RecordSet的增加:Rs.AddNew,Adodc的增加:Adodc1.Recordset.AddNew 示范: '--如何用Adodc控件代码去连接Access Private Sub Command1_Click() Dim strConn As String ‘ ' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码' strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False;Jet OLEDB:DataBase Password='您的密码'"
' adodc的连接字符串 Adodc1.ConnectionString = strConn
' 指定Command对象的形态 Adodc1.CommandType = adCmdText
' 设置传回一个资料录集。 Adodc1.RecordSource = "Select * from People"
' 将记录集合绑定DataGrid1 Set DataGrid2.DataSource = Adodc1 End Sub
呵呵```这个问题曾经碰过其实解决很简单!!!cn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBName & ";Jet OLEDB:Database Password=" & strPass & ";Persist Security Info=False"整个模块给你吧,我是用连接SQL的模块修改的'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public strDBName As String '数据库名 Public strPass As String '数据库密码 Public rs As ADODB.Recordset Public cn As ADODB.ConnectionPublic Function ConnectionDB(strDBName As String, strPass As String) As Long Dim blnConnState As Boolean On Error GoTo errHandle Set cn = New ADODB.Connection cn.ConnectionTimeout = 5 cn.CursorLocation = adUseClient cn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBName & ";Jet OLEDB:Database Password=" & strPass & ";Persist Security Info=False" cn.Open blnConnState = GetState(cn.State) If blnConnState Then ConnectionDB = 1 '连接成功 End If Exit Function errHandle: Select Case Err.Number Case -2147467259 ConnectionDB = 0 '连接失败 Case -2147217843 ConnectionDB = 3 '非法用户 Case Else ConnectionDB = 100 End Select End Function'GetState( )函数检查与数据库的连接状态,成功返回真值 Public Function GetState(intState As Integer) As Boolean Select Case intState Case adStateClosed GetState = False Case adStateOpen GetState = True End Select End Function'****************************************************** '--exesql()用于执行用户给定的select语句,实现更新,返回对应的记录集 '****************************************************** Public Function exesql(ByVal sqltxt As String) As ADODB.Recordset Dim rs As ADODB.Recordset sqltxt = Trim$(sqltxt) Set rs = New ADODB.Recordset '定义rst为recordset对象 Set rs.ActiveConnection = cn '指示Recordset 对象当前所属的 Connection 对象 rs.LockType = adLockOptimistic '指示编辑过程中对记录使用的锁定类型 _ 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录? rs.CursorType = adOpenKeyset '打开指定 Recordset 的 Connection 对象。 rs.Open sqltxt Set exesql = rs End Function
在增加与删除其实Adodc控件与Recordset的区别只是把 Recordset更换成Adodc1.Recordset
RecordSet的增加:Rs.AddNew,Adodc的增加:Adodc1.Recordset.AddNew
示范:
'--如何用Adodc控件代码去连接Access
Private Sub Command1_Click()
Dim strConn As String
‘ ' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码'
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False;Jet OLEDB:DataBase Password='您的密码'"
' adodc的连接字符串
Adodc1.ConnectionString = strConn
' 指定Command对象的形态
Adodc1.CommandType = adCmdText
' 设置传回一个资料录集。
Adodc1.RecordSource = "Select * from People"
' 将记录集合绑定DataGrid1
Set DataGrid2.DataSource = Adodc1
End Sub
Public strDBName As String '数据库名
Public strPass As String '数据库密码
Public rs As ADODB.Recordset
Public cn As ADODB.ConnectionPublic Function ConnectionDB(strDBName As String, strPass As String) As Long Dim blnConnState As Boolean
On Error GoTo errHandle
Set cn = New ADODB.Connection
cn.ConnectionTimeout = 5
cn.CursorLocation = adUseClient cn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBName & ";Jet OLEDB:Database Password=" & strPass & ";Persist Security Info=False" cn.Open
blnConnState = GetState(cn.State)
If blnConnState Then
ConnectionDB = 1 '连接成功
End If Exit Function
errHandle:
Select Case Err.Number
Case -2147467259
ConnectionDB = 0 '连接失败
Case -2147217843
ConnectionDB = 3 '非法用户
Case Else
ConnectionDB = 100
End Select
End Function'GetState( )函数检查与数据库的连接状态,成功返回真值
Public Function GetState(intState As Integer) As Boolean
Select Case intState
Case adStateClosed
GetState = False
Case adStateOpen
GetState = True
End Select
End Function'******************************************************
'--exesql()用于执行用户给定的select语句,实现更新,返回对应的记录集
'******************************************************
Public Function exesql(ByVal sqltxt As String) As ADODB.Recordset
Dim rs As ADODB.Recordset
sqltxt = Trim$(sqltxt)
Set rs = New ADODB.Recordset '定义rst为recordset对象
Set rs.ActiveConnection = cn '指示Recordset 对象当前所属的 Connection 对象
rs.LockType = adLockOptimistic '指示编辑过程中对记录使用的锁定类型 _
开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录?
rs.CursorType = adOpenKeyset '打开指定 Recordset 的 Connection 对象。
rs.Open sqltxt
Set exesql = rs
End Function