日期:2014-05-16 浏览次数:20464 次
一、数据库连接:
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 subPrivate 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 指针定位在重复记录的地方