日期:2014-05-16 浏览次数:20404 次
一、数据库连接:
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 Function1、
2、
正确:objRs.Find "卡号='1001'"3、
错误:objRs.Find "卡号=' 1001 '" 注意:1001前/后空格的存在
在数据库中Find查找时,''一对单引号之内的内容要和表中的信息完全匹配,才会被找到的
EOF指:最后一条记录的下一条记录
objRs.EOF如果查找到重复记录,返回True 指针定位在重复记录的地方