《2022年delphi数据库编程 .pdf》由会员分享,可在线阅读,更多相关《2022年delphi数据库编程 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Delphi程序设计试题及解答一、填空题( 20 分,每空 2 分)1、现实世界中对象具有自己的状态和行为。对应着,面向对象技术中的对象可以具有自己的属性和方法。2、Delphi 应用程序中项目文件的扩展名是.dpr 。3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有一个入口和一个出口。4、在 Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器( Object Inspector )中的properties/属性窗口直接进行设置。5、ListBox 对象列表框中的内容是通过Items 属性来进行设置的。6、时钟组件 (Time
2、r) 能有规律的以一定时间间隔触发Ontimer 事件。7、 如果让界面上的一个按钮变为不可用,需要将它的Enabled 属性设为 False。8、Image 组件可通过设置其Autosize 属性为 True 使 Image 组件根据图像的大小自动调整显示窗口大小。9、Delphi的一个项目由若干文件组成,其中文件名后缀含有“”的文件为备份文件。10、与数学表达式53)(cos2xba对应的 Object Pascal 表达式是Sqr(cos(a+b)/(3*x)+5 二、单项选择题( 30 分,每题 3 分)1、Delphi 程序设计的基本特点是(D )A 可视化程序设计B 代码程序设计C
3、事件驱动编程D A 和 C 2、修改窗体的标题时,应当设置form 的属性是(A )ACaption B Name C Text DLabel 3、下列哪个常量说明语句是正确的(D )A. const x := (c 16); B. const x : 16 ; C. const x := 16 ; D const x = 16 ; 4、 “x 是小于 100 的非负数”的Object Pascal表达式是(C )A0 x = 0, x=0) AND (x = 0 ) OR (x100) 5、编辑框( Edit)中的文本发生改变时引发的事件是(B )A AutoSize BOnChange C
4、SetFocus D SetText 6、表达式30 19 div 2 的值是(C )A37 B49 C39 D40 7、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则在Bands 属性的子属性名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 中,不需要选择的是(C )A HasColumnHeader BDetail CTitle DSummary 8、下面哪个功能键可以调出Delphi 的联机帮助信息(A)AF1 键
5、BF2 键CF3 键DF4 键9、数据库组件中,提供了对数据库读写操作功能的核心组件是( C )A数据源组件B用户界面组件C数据集组件D数据感知控件10、以下控件中没有Items 属性的是(D )AComboBox B ListBox CRadioGroup DMemo 三、判断题( 10 分,每题 2 分)请给下列论述中正确的打上“”,错误的打上“” (10 分,每题 1 分)1、() 一个数组中的各元素的数据类型必须相同。2、 ()在一个项目中,可以根据需要将任何一个窗体定义为主窗体。3、() 每个数据感知控件都必须指定DataSource和 DataField 两个属性值。4、() la
6、bel 和 Edit 组件都可以用于用户输入数据。5、( ) 按钮组件和编辑框组件能够响应的事件有些是相同的。四、程序填空题( 30 分,每题 10 分)1、 (10 分,每空 2 分)本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。设计界面和运行界面如图所示。其中,运算符是一个含有4 个单选按纽的RadioGroup1 对象。下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空。- procedure TForm1.Button1Click(Sender: TObject);/运算var x1,x2,y :Integer; begin x1 := StrTo
7、Int( Edit1.); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - x2 := StrToInt( Edit2.); Case .ItemIndex of 0: y := x1 + x2 ; 1: y := x1 - x2; 2: y := x1 * x2; 3: y := x1 Div x2; End; Edit3. := IntToStr( ); end; - 2、 (10 分,每空 2 分)数据库 mydb 中有关
8、系表student,其结构如下:student(sno 学号, sname 姓名, sex 性别, birthday 生日)现编写一个学生信息浏览程序,设计界面和运行界面如下图所示:在下划线处填写相应数据库组件的属性值:Database1. DatabaseName : mydb Table1. DatabaseName : mydb Table1. TableName : student Table1. Active : Datasource1.DataSet : DBNavigator1. DataSource : DBEdit2. DataSource : DBEdit2. DataFi
9、eld : 3、 (10 分,每空 2 分)本程序实现一个简单的借书界面。程序的设计界面和运行界面如下图所示:该程序涉及到数据库中的两张表:books(图书信息) 和 borrow(借书记录)。表的结构为:books(bno,书号, bname 书名, num 现有册数)borrow (rno 读者号, bno 书号, rdate 还书日期)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 其中, rno 和 bno 都是字符型(
10、 3 位) 。在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow 表中插入一条借书记录,并将books 表中该书现有册数减1。该界面要实现以下合法性检查:当该读者已经借了此书,不能再借。当所借的书现有册数为0,不能再借。在 Form1 上建立的数据库组件对象及连接关系如下:Database1Table1(与 books 表相连) DataSource1DBGrid1(显示图书信息)Database1Table2(与 borrow 表相连,用于插入借书记录)Database1Query1 其中为 Table1 建立了 3 个永久字段: Table1bno (
11、书号)、 Table1bname (书名)、Table1num(现有册数) 。Query1 的 SQL 语句如下:select bno from borrow where rno = :rno and bno = :bno 下面是 Unit1 的代码实现部分,请完成程序填空:- implementation $R *.dfm procedure TForm1.Button1Click(Sender: TObject); /“借书”键begin query1.Close ; query1.ParamByName(rno).V alue := ; query1.ParamByName(bno).V
12、alue := ; query1.Open ; if query1bno null then begin showmessage(该读者正在借阅此书); exit ; end ; if then begin showmessage(该书已全部借出); exit ; end; table2. ( edit1.Text , table1bno.V alue , date+15 ); /插入借书记录table1. ; table1num.Value := table1num.V alue - 1 ; / 现有册数减1 table1.Post ; end; end. - 名师资料总结 - - -精品资
13、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 五、编程题( 10 分)本程序设计界面及运行界面如下:程序功能是:用户输入一个3 位正整数后,按“确定”键,该数字的个位、十位、百位数字分别显示在输出框中。如果输入的数据不在规定范围之内,程序要给出错误提示。请编写单击“确定”按钮的事件处理程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,
14、共 6 页 - - - - - - - - - 试题参考答案一、填空题 (20 分,每空 2 分) 1、方法2、.dpr (或 dpr) 3、一个入口4、属性或 Properties 5、Items 6、OnTimer 7、Enabled 8、AutoSize 9、备份文件10、 sqr(cos(a+b) /(3*x)+5 或 cos(a+b) * cos(a+b) /(3*x)+5 二、单项选择题( 30 分,每题 3 分)1、D 2、 A3、D 4、C 5、 B 6、C 7、 A8、A9、C 10、D 三、判断题( 10 分,每题 2 分)1、2、3、4、5、 四、程序填空题( 30 分,
15、每题 10 分)1、 (10 分,每空2 分) text text RadioGroup1 text y 2、 (10 分,每空2 分) True Table1 DataSource1 DataSource1 sname 3、 (10 分,每空2 分) edit1.Text table1bno.Value table1num.Value = 0 InsertRecord Edit 五、编程题( 10 分)procedure TForm1.Button1Click(Sender: TObject); var x : integer ; begin x := strtoint(edit1.Text); if (x999) then showmessage(输入数据不在范围内); edit2.Text := inttostr(x DIV 100) ; edit3.Text := inttostr( (x DIV 10 ) Mod 10 ) ; edit4.Text := inttostr(x Mod 10) ; end; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -
限制150内