日期:2014-05-16  浏览次数:20635 次

数据库学习实践(二)----记录浏览

       

        在实例一的登录系统中,通过定义函数,来访问数据库并且判断用户名和密码是否正确匹配。还有一种实现方法,就是在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--,……

 

 

6楼chenfanglincfl昨天 15:55
很认真
5楼