日期:2014-05-16 浏览次数:20660 次
在实例一的登录系统中,通过定义函数,来访问数据库并且判断用户名和密码是否正确匹配。还有一种实现方法,就是在form_load 事件中,取出数据库中的用户名和密码,并存放在两个数组中,用户输入的用户名和密码在和数组中的用户名和密码去匹配,虽然取出数据库中的数据是不安全的,但也是一种实现方法。。
实例二和实例一有着直接的联系。先不说要求,就只看功能,通过实例一中的数组方法,只要稍加修改,就能实现实例二中的效果。。就是把数组中用户名和密码取出来,在窗体上显示出来(这样也是不安全,哈)。
实例二则是用ADO recordset 的一些属性实现访问数据库中的值,并且也是通过recordset对象的属性值,来实现前后记录的来回读取和切换。相对来说简单方便。
通过实例二也学习积累了recordset对象的一些非常好用的属性方法。
下面说说,实例二实现的思路:
实例二是recordset属性的练习,程序过程都是围绕着ADO展开的。
先创建数据库的连接,通过属性,将数据库中的密码和用户存入objrs 这个创建的记录集中。
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
再通过recordset的movefirst 和movelast属性访问数据集中的第一个和最后一个数据,通过moveprevious和movenext属性来实现前一个和后一个记录的访问。
想比较数组实现方法,真的很简单。省去了创建数组,利用循环将取出的数据存放到数组中,在浏览的时候,还得利用循环来后移动。。
实例二和实例一中的不同:
1,都访问数据库。
实例一和实例二都连接了数据库,但是方式不同。实例一将数据库的连接和关闭写在了函数中,调用函数的过程中经历数据库的连接、打开、关闭;实例二,则是在程序运行的时候就创建了数据库的连接,访问,在程序关闭的时候,同时关闭数据库。
2,数据库的连接方式不同
实例一是同过ADO connection对象属性连接。
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\实例01.mdb"
实例二是通过ODBC(Open Database Connectivity)数据源访问数据库。先建立关系数据库的ODBC连接。
Set objCn = New Connection
objCn.Open "DSN=实例2DSN"
总结:
1,有关数据库的连接方法,两种
2,取数据库中数据不用数组存放
3,recordset一些属性。update, move--,……