流程
判断卡号是否为空----为空,输入卡好—不为空,连接数据库----判断是否有此用户----没有,提示-----有,连接并显示信息
知识点
If mrc.BOf Then :当前指针的位置是在第一行记录之前
If mrc.EOF Then :当前指针的位置是在最后一行记录之后
If Not mrc.EOF Then :当前指针的位置没有到达最后一条记录
If Not mrc.BOF Then :当前指针的位置没有到达第一条记录
If mrc.BOF AND mrc.EOF Then :没有任何记录
If Not (mrc.BOF AND mrc.EOF) Then :指针位于记录集的当中,说明一定有记录
问题
1)91错误,定义出错 Dim mrc As New ADODB.Recordset没加new所以查不到数据库
2)3704错误,对象关闭不允许操作。原因:txtsql打成了sql
引申出的知识点: 在进行查询的时候,数据库将查询结果返回查询端。BOF表示当前的指针是在记录集的前面,EOF表示当前指针式在记录集的最后。
如果同时产生了BOF和EOF的情况,就是说当前的指针既在上界之外也在下界之外,这样只有一种情况,就是记录集是空的,这样当前指针无论是指到什么地方都是同时具有BOF和EOF的属性。
3)发现二义性名称top_up
代码展示
txtsql = "select * from student_Info where cardno = '" & Trim(txtcardno.Text) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
'判断是否存在该用户
If mrc.BOF And mrc.EOF Then '没有任何记录
MsgBox "没有该用户", 48, "提示"
txtcardno.SetFocus
txtcardno.Text = ""
Exit Sub
Else
txtstudentNo.Text = mrc.Fields(1)
txtName.Text = mrc.Fields(2)
txtsex.Text = mrc.Fields(3)
txtdepartment.Text = mrc.Fields(4)
txtgrade.Text = mrc.Fields(5)
txtclass.Text = mrc.Fields(6)
txtcash.Text = mrc.Fields(7)
txtexplain.Text = mrc.Fields(8)
txtIscheck.Text = mrc.Fields(11)
mrc.Update
mrc.Close
End If
总结
变是永远不变的