红皮书学习总结
经过了两个实例的学习,我感受颇深,不襟想要写一篇博客来抒发一下内心的感受。
对于数据库SQL语言这方面之前我有所涉猎,掌握了基本的查询语句,但是对如何实现应用程序与数据库之间的连接,我却一无所知。在红皮书实例1和实例2的学习当中我掌握了两种连接数据库的方式:“ADO对象直接访问” “访问ODBC数据源“
实例1 ADO对象直接访问
通过ADO连接Access数据库比较简单,只需要创建数据库,添加ADO引用,最后再通过一下两条关键代码即可完成。
'建立数据库连接
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & _
" \实例.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
objCn.Open
'执行查询命令,获得用户登录口令
stringSql = "select 口令 from 系统用户 where 用户名 = '" & UserName & "'"
Set objRs.ActiveConnection = objCn
objRs.Open stringSql
第一条语句的目的是连接建立好的数据库,打开连接;
第二条的目的是通过RecordSet对象对数据库表里的字段进行查找操作;
通过以上的操作就可以实现链接数据库并对数据库中的数据进行操作。
实例2 访问ODBC数据源
首先创建文件DSN,创建完DSN后,通过ADO Connect链接数据库
Set objCn = New Connection '实例化connect对象
objCn.Open "DSN=实例2DSN" '建立数据库连接
然后通过RecordSet实现对数据库的操作。
Set objRs = New Recordset '创建客户端记录集
With objRs
.CursorLocation = adUseClient '指定临时表位置
.CursorType = adOpenStatic '指定使用键集游标
.LockType = adLockOptimistic '指定锁定类型
.Open "select * from 系统用户", objCn
End With
在第二个实例当中我出现了以下错误
后来,经过调试发现是由于objCn.Open "DSN=实例2DSN"
多加了一个空格,造成了链接数据库的失败,所以在通过ODBC链接数据库是一定要注意字符串里面格式的正确,因为没有自动检验错误的机制所以细小的错误很难发现,一定要注意。