ODBC全拼为Open Database Connectivity,开放数据库互连。分为如下三种:用户DSN,系统DSN,文件DSN。使用Connection
对象建立数据库连接是,默认使用MSDASQL 驱动程序,所以在连接字符串中只需指定数据源名称即可,例如:objCn.Open "DSN=实例2DSN"
但是发现按照本实例中路径,"开始/程序/管理工具/数据源(ODBC)"打开以后,列表中并没有Microsoft access driver (*.mdb),个人感觉这是因为计算机系统的原因。于是在计算机C:\Windows\SysWOW64
路径下找到odbcad32.exe ,创建所需数据源。
接着建立主窗体,建立ADO引用。
然后就是编写代码了。详细代码就不再赘述,只简单的写一下窗体加载时的代码:
Private Sub Form_Load()
Set objcn = New Connection
objcn.Open "DSN=实例2DSN"
Set objrs = New Recordset
With objrs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open "select*from 系统用户", objcn
End With
txtUsername = objrs.Fields("用户名").Value
txtPassword = objrs.Fields("口令").Value
txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount
End Sub
附:ADO Recordset 对象的一些属性。
- Recordset的LockType属性用于指定记录锁类型,有4种类型。
- adLockReadOnly :默认值,只读,无法更改数据。
- adLockPessimistic :保守式记录锁定,在编辑记录时立即锁定数据源的记录。
- adLockOptimistic:开放式记录锁定,在执行update方法时锁定记录。
- adLockbatchoptimistic:开放式批更新,表示recordset用updatebatch方法更新多个记录,即在执行updatebatch方法时锁定记录。
- Recordset的临时表位置
Recordset的Cursorlocation属性用于指定临时表位置,可设置为下列表。
- Aduseclient:客户端临时表,可以提供重新排序和使用索引查找记录等特有功能。
- Aduseserver:服务器端临时表,由服务器端的被检索的数据源维护。
Ado中的recordset默认为服务器端的单向只读临时表。