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

系统开发----万能模板

一、数据库连接:

Dim objRs As ADODB.Recordset
 
Private Sub Form_Load()
    Dim objCn As New Connection
    
    '建立数据库连接(本地连接)
    strcn = "Provider=SQLOLEDB;Data Source=.;Initial CataLog=Charge_zlj;UID=sa;PWD=123456"
    objCn.ConnectionString = strcn
    objCn.Open
    
    '创建RecordSet对象,获得系统用户信息
    Set objRs = New Recordset
    Set objRs.ActiveConnection = objCn
    objRs.CursorLocation = adUseClient '客户端临时表,可以提供重新排序和使用索引查寻记录等特有功能
    objRs.CursorType = adOpenDynamic '开放式记录锁定,在执行Update方法时锁定记录
    objRs.LockType = adLockOptimistic
    
    strsql = "select * from 学生注册 "
    objRs.Open strsql
End sub

二、限制用户请求验证次数:
Private Sub cmdOK_Click()
    Static intLogTimes As Integer '用于保存用户请求验证次数
        intLogTimes = intLogTimes + 1 '计算登录次数
        If intLogTimes > MaxLogTimes Then
            MsgBox "您已经超过允许用户验证次数!" & vbCr & "应用程序将结束!", vbCritical, "登录验证"
            End
        Else '进一步验证登录信息合法性
            '检查是否存在指定用户
            objRs.MoveFirst
            objRs.Find "用户名=’" & txtName.Text & "'"
            
            If objRs.EOF Then
                MsgBox "用户名错误!", vbOKOnly + vbCritical, "系统登录"
                txtName.SetFocus
                txtName.SelStart = 0
                txtName.SelLength = Len(txtName.Text)
                Exit Sub
            Else
                '检查密码是否正确
                If objRs!密码 <> txtPW Then
                    MsgBox "密码输入错误!", vbOKOnly + vbCritical, "系统登录"
                    txtPW.SetFocus
                    txtPW.SelStart = 0
                    txtPW.SelLength = Len(txtPW.Text)
                    Exit Sub
                    
                Else
                    '在系统主窗体完成后完成以下的语句
                    ThisUserName = txtName
                    ThisPassword = txtPW
                    Unload Me '卸载登录窗体
                    frmMain.Show
                End If
                  
            End If
        End If
End Sub

三、查找是否存在重复记录
'查找是否存在重复记录
Private Function isRepeatCardID() As Boolean
'检查卡号是否已经被注册过
    Dim objCopy As New Recordset
    Set objCopy = objRs.Clone                   '创建objRs的副本
    If objCopy.RecordCount > 0 Then
        objCopy.MoveFirst
        objCopy.Find "卡号='" & Trim(txtCardID.Text) & "'"
        If Not objCopy.EOF Then  '找到
            isRepeatCardID = True
        End If
    Else
        isRepeatCardID = False 
    End If 
End Function
1、
 
2、
正确:objRs.Find "卡号='1001'"
错误:objRs.Find "卡号=' 1001 '"      注意:1001前/后空格的存在
 
在数据库中Find查找时,''一对单引号之内的内容要和表中的信息完全匹配,才会被找到的
3、
EOF指:最后一条记录的下一条记录
objRs.EOF
 如果查找到重复记录,返回True 指针定位在重复记录的地方