红皮书再总结——实例一

红皮书是Visual Basic 6.0数据库开发经典实例精解的简称,这本书是我们学习vb与数据库的基础。

首先给大家介绍一下数据库连接的三种方式

一、使用ADO connection对象,通过编写代码访问数据库。(如例一、例五)

二、使用ADO Data 控件快速创建数据库连接,不用编写代码即可访问数据库。(例三、例四)

三、使用数据环境设计器(ODBC数据源)创建数据库连接,不用编写代码即可访问数据库。(例二)

#实例1 “系统登录”对话框

(一)制作特点:

第一、界面简单。对话框中使用标签和文本框来显示和输入用户名和口令,用命令按钮执行验证和退出。

第二、基于数据库验证。将用户名和口令存放在数据库中,这样便于管理系统用户,与直接将用户登录信息放在代码中更具有灵活性。

(二)设计分析:

方法一、在数据库中建立一个数据表用于保存系统用户登录信息,在设计登录对话框时通过查询该数据表完成验证。

方法二、对于支持安全验证的数据库管理系统,可将系统用户定义为数据库用户。

(三)技术要领:

1.默认按钮和取消按钮
默认按钮,设置按钮的Default属性为True,此时其他命令按钮的该属性自动设置为False。按Enter键即可选择(激活它的单击事件),任何其他有焦点的控件都不接受Enter键的键盘事件,除非另外一个命令按钮已获得焦点,此时按Enter键选择有焦点的命令按钮而不是默认命令按钮。

取消按钮,设置控件的Cancel属性为True,此时其他命令按钮的该属性自动设置为False。单击它,或按Esc键或在该按钮获得焦点时按Enter键来选择它。

2.ADO Connection 对象
在访问数据库前,必须建立此连接。

3.ADO Recordset 对象
这里写图片描述
4.自定义函数过程

Function 函数名(参数 1 AS 数据类型,参数 2 AS 数据类型……)AS数据类型
……
函数名=返回值
……
End Function

注意:如果没有对函数过程指定返回值,则过程将返回一个默认值;数值函数返回0,字符串函数返回一个零长度字符串(""),Variant函数返回Empty。

(四)操作过程:

(1)创建数据库:
外接程序——可视化数据管理器——文件——新建——Microsoft Access——Version 7.0MDB

(2)设计窗体
两个标签框+两个文本框+两个命令按钮

(3)建立ADO引用
工程——引用——Microsoft ActiveX Data Objects 2.5 Library

(4)编写代码
Const MaxLogTimes As Integer = 3 '定义允许用户验证登录信息的最多次数
const与Dim相同,都是定义用的,Dim是定义变量,Const是定义常量。也就是说Const定义的不能修改MaxLogTimes的值,dim定义的可以重新赋值,拿这个例子来说,如下:

Const MaxLogTimes As Integer = 3    '缺省情况下,const是私有的相当于 Private Const MaxLogTimes As Integer = 3,此时3已被赋值给登陆次数,不可修改。
dim MaxLogTimes As Integer
MaxLogTimes = 3                               '用dim定义可修改MaxLogTimes的值。

②intResult:

例中代码如下:

Private Sub cmdCancel_Click()
    Dim intResult As Integer                '请求用户确认是否真的退出系统
        intResult = MsgBox("你选择了退出系统登录,退出将不能启动管理系统!" & vbCrLf & "是否真的退出?", vbYesNo, "登录验证")
    If intResult = vbYes Then End        '根据用户选择结束应用程序
End Sub

个人认为,intResult是一个赋值的中间量,如果 intResult=vbYes,则End。

**③vbCrLf:**个字符串常数,即"Chr(13) & Chr(10)"(回车符与换行符连接在一起),是换行的意思。

④Function过程:
例中代码如下:

Private Function Check_PassWord(ByVal UserName As String, ByVal PassWord As String) As Byte
    On Error GoTo gpError
    Dim objCn As New ADODB.Connection, objRs As New Recordset, strCn As String    
    Dim strSQL As String                       '建立数据库连接
        objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & "C:\Users\TXG\Desktop\实例1.mdb"     
        objCn.Open                                   '执行查询命令,获得用户登录口令
        strSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名='" & UserName & "'"     
        Set objRs.ActiveConnection = objCn
        objRs.Open (strSQL)                     '判断有无查询结果
        If objRs.EOF Then
            Check_PassWord = 0                '没有查询结果,表示该用户为非法用户
        Else                                               '检查口令是否正确
            If PassWord <> Trim(objRs.Fields("口令").Value) Then
                Check_PassWord = 1            '口令不正确
            Else
                Check_PassWord = 2            '口令正确
            End If
        End If                                           '关闭数据库连接,释放对象
        objCn.Close
        Set objRs = Nothing
        Set objCn = Nothing
        Exit Function
gpError:
        Check_PassWord = 255                '验证无法正常完成,返回错误代码
        Set objRs = Nothing
        Set objCn = Nothing
End Function

Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。

**⑤vbCritical:**叉号
这里写图片描述

(五)连接数据库方式:

第一种,使用ADO connection对象。
使用ADO对象来访问Access数据库,首先用Connection对象建立数据库连接,然后用RecordSet对象从数据库获得用户口令,从而验证用户登录信息是否正确。

posted @ 2018-08-05 20:23  肥宅快乐鼠  阅读(28)  评论(0编辑  收藏  举报