【说明】
某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。

图1-19对话框中共定义了6个标签、6个文本框、4个命令按钮和1个Data数据控件。其中Data数据控件是Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。【添加】(cmdAdd)按钮用于向学生成绩数据表添加一条空记录:【修改】(cmdEdit)按钮用于修改当前所显示的一条数据记录:命令按钮【删除】(cmdDelete)用于删除当前显示的一条数据记录;单击【退出】(cmdExit)按钮,系统将退出图1-19所示的对话框。
表1-13是学生成绩表结构的示例;表1-14是学生成绩表的示例。
图1-19将表1-14数据库中的记录信息显示到相应的文本框中。要在各文本框(txtStu(i),i=0,1,2,3,4,5)中显示Data数据控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。
表1-13 学生成绩表结构
字段名 | 类型 | 大小 | | 字段名 | 类型 | 大小 |
班级 | Text | 6 | 语文 | Integer | 2(默认) |
学号 | Text | 8 | 数学 | Integer | 2(默认) |
姓名 | Text | 10 | 英语 | Integer | 2(默认) |
表1-14 学生成绩示例表 班级 | 学号 | 姓名 | 语文 | 数学 | 英语 |
A | A40001 | 张薇 | 95 | 86 | 90 |
B | B40001 | 谢新 | 67 | 71 | 81 |
A | A40002 | 刘红 | 94 | 89 | 86 |
C | C40001 | 张斌 | 78 | 88 | 86 |
… | … | … | … | … | … |
【Visual Basic程序】
Private Sub Form_Load()
For i = 0 To 5
txtStu(i).Locked = True
Next i
End Sub
Private Sub cmdAdd Click()
cmdEdit.Enabled = Not cmdEdit.Enabled
(1) For i = 0 To 5
txtStu(i) .Locked = Not txtStu(i).Locked
Next i
If cmdAdd. Caption = "添加" Then
(2) Datal.Caption = "新记录"
cmdAdd.Caption = "保存"
cmdExit.Caption = "取消"
txtStu(0).SetFocus
Else
Datal.Recordset.Update
(3) cmdAdd.Caption = "添加"
End If
End Sub
Private Sub cmdEdit_Click()
cmdAdd. Enabled = Not cmdAdd. Enabled
cmdDelete. Enabled = Not cmdDelete. Enabled
For i = 0 To 5
txtStu(i).Locked = Not txtStu(i).Locked
Next i
If cmdEdit.Caption = "修改" Then
Datal.Recordset.Edit
cmdEdit.Caption = "保存"
cmdExit.Caption = "取消"
Else
(4) cmdEdit.Caption = "修改"
End If
End Sub
Private Sub cmdDelete_Click()
answer = MsgBox("确实删除该记录吗", vbYesNo + vbQuestion, "警告")
If answer = vbYes Then
Datal.Recordset.Delete
(5) If Datal.Recordset.EOF Then
(6) End If
End If
End Sub
Private Sub cmdExit_Click()
If cmdExit.Caption = "退出" Then
End
Else
(7) cmdAdd. Enabled= True
cmdEdit.Enabled = True
cmdDelete. Enabled= True
For i = 0 To 5
txtStu(i).Locked = Not txtStu(i).Locked
Next i
cmdExit.Caption = "退出"
cmdAdd.Caption = "添加"
cmdEdit.Caption = "修改"
(8) End If
End Sub
Private Sub Datal_Reposition()
Datal.Caption = "第" &
(9) .AbsolutePosition + 1& "条记录"
End Sub
1. 【问题1】
请根据【说明】和图1-19的显示结果,从以下备选答案中为(1)~(9)空缺处选择正确的答案。(以下部分选项可重复选择)
【备选答案】
- A.Datal.Refresh
- B.Datal.Recordset.Update
- C.Datal.Recordset
- D.Datal.Recordset.CancelUpdate
- E.Datal.Recordset.AddNew
- F.Datal.Recordset.MoveNext
- G.Datal.Recordset.MoveLast
- H.cmdDelete.Enabled=NotcmdDelete.Enabled