阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内[说明]设有一张学生成绩表scores存放在Access数据库Student中,其中包括学生编号、姓名以及各科目考试成绩。下面的应用程序利用ADO Data和DataGrid控件实现了对成绩数据的基本管理,其操作包括:(1)添加新记录:单击“添加”按钮,光标将指向最后一条数据记录,在其后编辑好新的数据记录后,再单击“更新”按钮,该数据即被加入成绩表;(2)删除记录:单击“删除”按钮将删除当前所指记录,其后的数据记录依次上移;

题目

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内[说明]

设有一张学生成绩表scores存放在Access数据库Student中,其中包括学生编号、姓名以及各科目考试成绩。下面的应用程序利用ADO Data和DataGrid控件实现了对成绩数据的基本管理,其操作包括:

(1)添加新记录:单击“添加”按钮,光标将指向最后一条数据记录,在其后编辑好新的数据记录后,再单击“更新”按钮,该数据即被加入成绩表;

(2)删除记录:单击“删除”按钮将删除当前所指记录,其后的数据记录依次上移;

(3)更新记录:直接编辑某条已有记录,再单击“更新”按钮将更新成绩表;

(4)记录排序:选中单列字段后,单击“排序”按钮,记录集将按该字段升序排列。

程序的运行界面为:

在开发过程中,数据库连接对象使用了名为Adodc1的ADO Data控件,数据显示区域使用了名 DataGnd1的DataGrid控件,界面上从左到右各操作按钮分别取名为CmdAdd、CmdDel、CmdUpdate、 CmdRefresh、CmdSort和CmdExit。

[Visual Basic代码]

Dim conn, database, table As String

Private Sub Form_Load()

database ="E:\Student.mdb" ’设置要访问的数据库

conn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Souse=" & database

Adodc1.ConnectionString=conn ’设置连接字符串

table = "scores"

Adode1. (1)= table ’设置所要访问的数据表

Set DataGrid1. (2)= Adodc1

End Sub

Private Sub CmdAdd_Click() ’“添加”按钮的单击事件响应过程

Adodc1.Recordset. (3)

End Sub

Private Sub CmdDel_Click() ’“删除”按钮的单击事件响应过程

Adodc1.Recordset.Delete

Adodc1.Reeordset.MoveNext

End Sub

Private Sub CmdUpdate_Click() ’“更新”按钮的单击事件响应过程

Adode1.Reeordset.UpdateBatch adAffectAll

End Sub

Private Sub CmdRefresh_Cliek() ’“刷新”按钮的单击事件响应过程

Adodc1.Refresh

End Sub

Private Sub CmdSort_Cliek() ’“排序”按钮的单击事件响应过程

If DataGrid1.SelStartCol < 0 Or DataGridl. SelStartCol (4) DataGrid1. SelEndCol Then

MsgBox “请选择某一字段(列)!”

Exit Sub

End If

Adodc1. RecordSource = "SELECT * FROM" & table & "order by" & _

DataGrid1. Columns((5)).DataField

Adodc1.Refresh

End Sub

Private Sub CmdExit_Click() ’“退出”按钮的单击事件响应过程

End

End Sub


相似考题
更多“ 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内[说明]设有一张学生成绩表scores存放在Access数据库Student中,其中包括学生编号、姓名以及各科目考试成绩。下面的应”相关问题
  • 第1题:

    阅读以下说明和关系表,回答问题1~5,将解答填入对应的解答栏内。

    [说明]

    试用SQL查询语句表达下列对教学数据库中的3个基本表STUDENT,COURSE,SC的查询

    [关系表]

    查询全体学生的姓名和年龄。


    正确答案:SELECT SNAME 2005—BIRTH _ YEAR FROM STUDENT;
    SELECT SNAME, 2005—BIRTH _ YEAR FROM STUDENT;

  • 第2题:

    阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。

    【说明】

    设学生(学生数少于50人)某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图用于读取该文件,并把全部成绩从高到低排序到数组B[50]中。

    【流程图】


    正确答案:(1)B[0]←a (2)i←0 (3)a="." (4)aB[j] (5)j--
    (1)B[0]←a (2)i←0 (3)a="." (4)aB[j] (5)j-- 解析:本题考查用程序流程图来描述排序。
    题目要求将文件中学生的成绩读出,并把全部成绩从高到低排序到数组B[50]中。这里面涉及两个问题,第一是从文件中读数,文件中的数据是以单行句点“.”为结束符的,在未读到此符号前,应该将继续取数据。第二是排序,每取到一个学生的成绩都要与数组的学生成绩比较,按照从高到低的顺序在数组中找到合适的位置存放。下面来具体分析流程图。
    第(1)空在条件判断为假的情况下执行流程中,如果条件为假说明从文件中取到的数据是学生成绩。从程序流程图中可以看到,从文件中读的数据存放在变量a中,而此空是第一次取数据,应该存放数组B的第一个位置,因此此空答案为B[0]←a。
    第(2)空是紧接着第(1)空来的,在上面已经把从文件中读到的第一个数存放到了数组中,接下来应该处理数组的下标问题,从后面的流程中可以推断出变量i是存放数组当前下标的,而且没有初值,那么此空的任务应该是用来给变量i赋一个初值,而对数组的操作应该从头开始,因此此空答案为i←0。
    第(3)空是循环的判断条件,如果条件成立则结束,在这之前又对文件进行了一次读数,根据我们上面的分析只有在读到了结束符时程序才结束,那么此空肯定是判断从文件中读到的数据是否为结束符,因此此空答案为a="."?。
    第(4)空也是一个循环的判断条件,如果条件成立,则将取到的数存放到数组的当前下标位置;如果不成立,则循环找到合适的位置再存放。从这里我们不难推断出,流程图中是将从文件取到的成绩与当前数组中的最小成绩进行比较的,而当前数组中的最小成绩存放在位置j中,因此此空答案为aB[i]?。
    第(5)空在循环体中,这个循环的作用是为当前从文件中读到的成绩在已经排好序的数组元素中找到合适的位置,找到了就要插入,数组中的元素是按从大到小排列的,在查找合适位置时是从后往前依次比较,因此此空的任务应该是将数组的下标往前移动,所以此空答案为“i--”。

  • 第3题:

    阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
    【说明】
    某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
    类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






    答案:
    解析:

  • 第4题:

    阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

    [流程图]


    正确答案:(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0
    (1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0 解析:本题用到的三个变量及其作用分别为:A,存放输入的一个字符;MAX,存放当前为止最长单词的长度;L,存放当前单同的长度。
    (1)使用变量MAX应先赋予初值,由上下文知其初值为0;
    (2)读取当前单词时,每读人一个字母,单词长度值L应增1;
    (3)当前单词长度L比MAX时,应更新MAX的值;
    (4)若当前字符不是句点,应当继续读取字符;
    (5)读取下一个单词前,应当重置L的值。

  • 第5题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案: