《数据库技术》(delphi)试卷及答案.doc
*学生班号 学号: 姓名: (座位号 )*密 封 线 内 不 要 答 题*湖北汽车工业学院数据库技术(delphi)试卷(A)答案课程编号考试形式闭卷考试日期考 试 学 期2010 2011(2)题号一二三四五总分得分阅卷一、单选题(每题1.5分,共30分)1、Delphi程序设计的基本特点是:( D)。A 可视化程序设计 B 代码程序设计 C 事件驱动编程 D A和C2、进度显示组件ProgressBar的当前进度可以通过( C )属性设置。A Step B Scroll C Position D Max3、下列变量命名正确的是:( B )。 A 7ABC B My7 C page2 D cmd.14、“x 是小于200的非负数”的Object Pascal表达式是( C )。A 0 x < 200 B x >= 0, x<200 C (x >=0) AND (x < 200)D (x >= 0 ) OR (x<200)5、在窗体上建立多页面的用户界面,需要首先建立的对象是( B )A TabControl BPageControl C HeaderControl DPageScroller 6、能够删除edit1中内容的语句是( A )。A edit1.Clear ; Bedit1. Focused ; C edit1.Text= null ; Dedit1.text :='0' ;7、现建立一个简单报表,仅包含数据列标题栏、数据栏和汇总栏,则在Bands属性的子属性中,不需要选择的是( A)A HasColumnHeader B DetailC Summary D Title 8、下面哪个功能键可以调出Delphi 的联机帮助信息(A )A F1键 B F2键C F3键 D F4键9、Onclick事件的操作是( B )A鼠标双击事件 B 鼠标左键单击事件C 拖动鼠标事件 D 鼠标滚动事件10、关于多重循环说法不正确的是:(D)A 外循环执行一次,内循环执行一周 B 内外循环不能交叉C 内外循环的循环变量不能同名 D 同层循环不能使用相同的循环变量11、属性之的设置或修改可以通过object inspector中的属性窗口来进行,也可以通过在代码窗口中利用编程的方法进行设置,当程序运行的时候来改变对象的属性。在程序中设置组件属性的一般格式是:A <对象名> <属性名>=属性值 B <对象名> <属性名> :=属性值 C <对象名> <属性名>=属性值 D <对象名> <属性名>:=属性值 12、下列类型中合法的是( D)A TYPE a=10.10; B TYPE b=10.5;C TYPE c=0.SQRT(10); D TYPE d=1.20;13、 已知 Var a:array'a'.'e',1.5,boolean of real;则数组a中包含的元素的个数为 ( A)A 50 B 20 C 40 D 11 14、已知a、b、c、d是同类型的简单变量,而且已有互不相同的值,执行下列语句:b:=a; a:=c; d:=a; d:=b; 后,其值相等的变量是(A)A a,c B a,d C c,b D b,a 15、下面的引用将返回字符串“奔腾计算机100台!”的是:(A)A format(%s计算机%d台!,奔腾,100)B format(%s计算机%d台!,100 ,奔腾)C format(计算机%s %d台!,奔腾,100)D format(%d计算机%s台!,奔腾,100) 16、有以下程序段:i:=100;while i<=300 do begin i:=i+60;end;假设所有的变量已经说明,该循环体的执行次数是:(C)A 3 B 4 C 5 D 6 17、 数据表格的属性中,其中是关于有效性检验的属性的是 ( B)A table lookup B validity checks C secondary indexes D referential integrity18、在ttable组件中用来说明当前数据集的来源的属性是(C)A active B tablename C databasename D name 19、TTable的方法很多,其中都是用来浏览数据的方法的是( B)A next prior open B moveby last first C last prior close D setRangeStart last open20、 都是ADO组件页中的组件的是 ( B)A Ttable、Tdatasource、TadoCommandB TAdoStoredPro 、TADOTable 、TADOConnectionC TADODataSet 、TADOQuery、TDataSetD TSession、 TDatabase、TDAODataset二、判断题(每题1分,共10分)1、object pascal 的数据类型只有系统定义的标准类型。 ( ×)2、对象观察器是用来描述组件对象计窗体对象的属性特征和行为事件的工具。()3、tryexcept语句只能进行抛出异常,不能处理异常。( ×)4、析构函数和构造函数的功能一样。(× )5. 粘贴时,如果作为容器的组件已被选择,剪贴板中的组件会当作容器组件的子组件来粘贴。( )6、Database Desktop是 delphi提供的数据库管理工具,但是不能设置工作路径。(× )7、数据字典有数据库和属性集两部分组成。( )8、delphi中的数据控制组件提供了应用程序和数据库之间的联系。(× )9、数据访问组件包括TTable、TQuery、datasource等组件。(× )10、TTable是利用SQL语句来访问数据库中数据表格的数据访问组件。 (× )三、填空题(每空1分,共25分)1、现实世界中对象具有自己的状态和行为。对应着,面向对象技术中的对象可以具有自己的属性和 方法 。2、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 一个入口 和一个出口。3、Delphi应用程序中单元文件的扩展名是 .pas 。4、与数学表达式 对应的Object Pascal表达式是 Sqr(cos(a+b)/(3*x)+5 。5、对于下面的条件表达式:(3 <= x)OR (x < 0) AND (x in 1.10) 当x = 3 时, 该表达式的值为 true 。6、将label1的标题设置为系统时间的语句是: label1.caption:=time 。7、可以通过设计Image对象的 picture 属性进行设置装入一个图形文件。 8、时钟组件(Timer)能有规律的以一定时间间隔触发 OnTimer 事件。9、能够实现格式化输入的编辑框组件是 format() 10、分组组件可以放置其他组件,请写出一个分组组件 。(GroupBox、RadioGroup、panel、scrollbar、tabcontrol、pagecongtrol、headercontrol)以下题目从下列的属性和方法中选取填空Active autoselect bof close Constructor color decontructor databasename tablename datatime datset delete destroy datasource datafield eof field function insert open setfocus tqrquick tqrsubdetail tqrexpr tqrband try11、定义构造函数时,不能使用function,而是使用保留字 Constructor 。12、TTable组件中,指定要访问的数据库名称,通常是数据库别的属性是 databasename 。13、TDatasource组件的属性 dataset 指明该数据源组件联系的数据集组件名 。 14、 TDBGrid的设置中, datasource 指明了TDBGrid组件中显示数据源的来源。15、TDBEdit中, datafield 属性是用来确定TDBEdit组件显示与编辑的是当前记录中哪些特定字段的值。16、 bof 确定当前指针位置是否在数据表的第一个记录。17、 TQRSubDetail 组件是用来显示主/明细表报表中明细表的数据的。18、要让Edit1获得焦点时被自动选中,设置属性AutoSelect。19、要想Form1中字体为clRed,设置Font的Color属性。20、要想使一个Edit1获得焦点,使用方法SetFocus。四、操作题(每小题2分,共计10分)操作下表student.db,在横线上填入适当的内容。1、 查询姓“赵”的同学的“语文”成绩,则SQL查询语句:Select 成绩 from student where 姓名:=赵% and 课程:=语文2、 删除高水华的记录Delete from student where姓名=高水华3、插入一条记录('''',''李香香'',''英语'',''90'')Insert student Values('''',''李香香'',''英语'',''90'')如果table1.name:=student.db。(4-5题) 4、 Table1.post 的含义是:将对Table1的修改数据暂时保存在记录缓冲区中。 5、打开数据库table1的方法是Table1.open; 五、程序题(20分,每题10分)1、(10分,每空2分)本程序设计界面和运行界面如下图所示: 程序的功能是:用户在edit1中输入一个正整数n,然后按“计算”按钮,程序计算1n中能被3整除的数之和,并在edit2中显示计算结果。请完成程序填空:procedure TForm1.Button1Click(Sender: TObject); /“计算”按钮var i , n, sum : integer ;beginsum := 0 ;i := 1 ;n := StrToInt(edit1. text (1) ); /读入正整数nwhile i <= n do (2) /循环语句begin if i mod 3 =0 (3) then sum := sum+i (4) ; i := i +1 ;end; edit2.Text :=IntToStr( sum (5) ); /将结果在编辑框中显示end;2、(10分,每空2分)数据库mydb中有关系表student,其结构如下:student(sno学号,sname姓名,sex性别,birthday生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示: 在下划线处填写相应数据库组件的属性值:Database1. DatabaseName : mydb Table1. DatabaseName : mydb Table1. TableName : studentTable1. Active : (1) true Datasource1.DataSet : (2) table1 DBNavigator1. DataSource : (3)datasource1 DBEdit2. DataSource : (4) datasource1 DBEdit2. DataField : (5) sname