问题 问答题

[说明]
以下Visual Basic代码实现了系统登录时对用户进行合法性检查。界面如图9-6所示。阅读下面代码,将 (n) 处代码补充完整。


[代码7-1]
Begin VB.Form form1
BackColor = &H00808080&
Caption = "系统登录"
//...窗体描述(略)
Begin VB.Labe1 Labe12
Backstyle = 0 ’Transparent
Caption = "密 码: "
//…窗体描述(略)
End
Begin VB.Labe1 Labe11
Backstyle = 0 ’Transparent
Caption = "操作员: "
//...窗体描述(略)
End
//...窗体描述(略)
End
[代码7-2]
Dim TIM As Integer
Dim mydb As Database
Dim myrs As Recordset
Dim sq1 As String
Private Sub Form ACdvate ( )
Set mydb=Workspaces (0).OpenDatabase (App.Path&"\CIUID.mdb") ’打开数据库
sq1="select操作员from qxsz"
Set myrs=mydb.OpenRecordset (sq1)
If (1) Then myrs.MoveLast
If (2) Then myrs.MoveFirst
For i=0 TO myrs.RecordCount-1
(3)
(4)
Next i
If (5) Then master.Listlndex=0
myrs.Close
mydb.Close
master.SetFocus
End Sub
[代码7-3]
Private Sub Cmdok_Click ( ) ’确认操作员和密码
Dim MESSAGE As String
If master.Text<>’’’Then
Set mydb=Workspaces (0) .OpenDatabase (App.Path&"\CIUID.mdb")
Set myrs=mydb.OpenRecordset ("qxsz", dbOpenDynaset)
myrs.Findfirst"操作员="+Chr(34) +master.Text+Chr(34) +"" ’查找操作员
If (6) Then
MsgBox ("无此操作员!")
Else
If password.Text=myrs.Fields("密码") Then ’确认密码
MsgBox"系统登录成功!" ’系统登录成功
Else
If TIM=3 Then
MESSAGE=MsgBox ("密码输入错误,请向系统管理员查询!",0,"")
If MESSAGE=vbOK Then End
End If
MsgBox ("密码错误,请重新输入密码!")
TIM=TIM+1 ’密码输入错误次数
password.SetFocus
End If
End If
End If
End Sub

答案

参考答案:(1)myrs.EOF=False
(2)myrs.BOF=False
(3)master.Addltem (myrs.Fields (0))
(4)myrs.MoveNext
(5)master.ListCount>0
(6)myrs.NoMatch

解析:
本题中Visual Basic代码实现了系统登录时对用户进行合法性检查。(1)根据满足条件后,实现“myrs.MoveLast”操作,那么,这个条件就是myrs.EOF=False。同理(2)为myrs.BOF=False。(3)、(4)完成用户名添加到数据库中,作为合法用户,答案分别应为master.Addltem (myrs.Fields(0))和myrs.MoveNext。对于(5)当master的ListCount不是0时(当然大于0了),将master的Listlndex置为初始0位置。(6)输入用户名与数据库中的用户不匹配,即myrs.NoMatch时,“无此操作员!”输出报警。

单项选择题
单项选择题