阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。 【说明】 某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。 图1-19对话框中共定义了6个标签、6个文本框、4个命令按钮和1个Data数

admin2012-12-10  35

问题 阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。
   【说明】
   某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图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数据控件进行绑定。

【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)H或cmdDelele.Enabled = Not cmdDelete.Enabled (2)E或Datal.Recordset.AddNew (3)G或Datal.Recordset.MoveLast (4)B或Datal.Recordset.Update (5)F中Datal.Recordset.MoveNext (6)G或Datal.Recordset.MoveLast (7)D或Datal.Recordset.CancelUpdate (8)A或Datal.Refresh (9)C或DataI.Recordset

解析 这是一道要求读者掌握用Data数据控件访问数据库的综合应用题。本题的解答思路如下。
   Data数据控件是Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。为了在程序运行时,使Data数据控件能够访问指定表中的记录信息,应设置该控件的DatabaseName属性和RecordSource属性。要在图1-19各文本框中显示Data控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。
   本程序开始部分,通过以下语句设置文本框不可编辑,使某条记录成为当前记录后,触发此事件。
   For i = 0 TO 5
   txtStu(i).Locked = True
   Next i
   在程序运行中,应注意各命令按钮之间的互相制约关系。例如,单击【添加】按钮后,不允许再单击【修改】、【删除】等按钮。因此本案例在【添加】按钮的Click事件中,用“cmdEdit.Enabled = Not cmdEdit.Enabled”、“cmdDelete.Enabled=NotcmdDelete.Enabled”等语句分别实现【修改】、【删除】按钮不可用状态的设置。因此(1)空缺处所选择的语句是选项H的“cmdDelete.Enabled=Not cmdDelete.Enabled”。
   对于添加记录的操作,需单击两次【添加】按钮才能完成。第1次单击该按钮时,执行(1)空缺处的语句。而该语句所要完成的功能是将一条空记录添加到记录集的末尾,因此(2)空缺处所选择的语句是选项E的“Datal.Recordset.AddNew”。由语句“txtStu(i).Locked=Not txtStu(i).Locked”可知,第1次单击【添加】按钮后,就可以在文本框(txtStu(i),i=0,1,2,3,4,5)中输入各字段的数值。
   第2次单击【添加】按钮时,执行语句“Datal.Recordset.Update”,其作用是确认添加操作后,再将新记录添加到数据库中。通常,新添加的记录是数据表中的最后一条记录,因此(3)空缺处语句所要完成的功能是,将记录指针移到最后一条记录上,即该空缺处所选择的语句是选项G的“Datal.Recordset.MoveLast”。
   对于修改记录中的语句“Datal.Recordset.Edit”,其作用是调用Recordset的Edit方法,使当前记录成为可编辑的状态。在完成修改操作后,还需执行语句“Datal.Recordset.Update”,以确认所要做的修改操作,即(4)空缺处所选择的语句是选项B的“Datal.Recordset.Update”。
   对于删除记录的操作,删除当前记录的语句是“Datal.Recordset.Delete”。删除当前记录后应使下一条记录成为当前记录,因此(5)空缺处所选择的语句是选项F的“Datal.Recordset.MoveNext”。
   删除当前记录后,如果记录指针指向最后一条记录的后面,则需要重新将记录指针移动到最后一条记录上,使之成为当前记录。语句“If Datal.Recordset.EOF Then”用于判断记录指针是否指向最后一条记录的后面。其中,EOF是Recordset的一个属性,当值为True时,表明记录指针已移到最后一条记录的后面。 (6)空缺处语句所要完成的功能是,使最后一条记录成为当前记录,即该空缺处所选择的语句是选项G的“Datal.Recordset.MoveLast”。(7)空缺处语句所要完成的功能是放弃添加的新记录(或对数据的修改),选择的语句是选项D的“Datal.Recordset.CancelUpdate”。取消所添加的新记录(或对数据修改)的操作后,还需要刷新与Datal相连接的记录集,同时把记录集中的第一条记录设置为当前记录。因此,(8)空缺处所选择的语句是选项 A的“Datal.Refresh”。
   最后(9)空缺处所选择的语句用于设置当前记录数,即选项C的“Datal.Recordset”。在Datal的 Reposition事件中,Recordset是Datal控件所控制的记录集对象,通过此对象对数据表中的记录进行浏览和操作。访问数据库的记录集可用Datal.Recordset实现。
   另外补充说明一点,对于本试题中,学生成绩表的建立步骤如下。
   1)启动数据管理器,选择【外接程序】→【可视化数据管理器】命令。
   2)建立数据库,即单击工具栏中的【数据库窗口】按钮。
   3)建立数据表结构。在数据库窗口中单击鼠标右键,从弹出的快捷菜单中选择【新建表】命令,打开如图1-21所示的“表结构”对话框。“表名称”栏输入:学生成绩表。按表1-13给出的学生成绩表结构定义表中的各个字段。
   
   4)编辑数据表中的数据。在数据库窗口的数据表名处单击鼠标右键,从弹出的快捷菜单中选择【打开】命令。在打开的记录操作对话框按表1-14所给出的信息添加各个学生的成绩。
转载请注明原文地址:https://kaotiyun.com/show/2njZ777K
0

最新回复(0)