通过设计学生.doc_第1页
通过设计学生.doc_第2页
通过设计学生.doc_第3页
通过设计学生.doc_第4页
通过设计学生.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理实验报告四-1实验日期2011/12/08 实验编号02012-4-1实验名称数据库应用实现实验学时2实验内容将1、2、3集成为总体环境进行数据库应用开发,通过设计学生,课程,选课,教师数据库应用实现,作为考评学生实验课程的依据。实验要求运用PB6.5的application painter、window painter、data window painter 使用Power Script,实现学生基本档案录入、成绩查询、成绩修改和删除基本应用。 实验过程描述1、 PB实现和数据库的SQL server2000的链接。控制面板管理工具数据源(ODBC) 添加SQL server。打开PowerBuilder6.0点击DB prof出现如下的界面 打开ODBC选择new建立链接 点击connect链接数据,从截图可以看出连接成功 2、 创建窗口对象(1) 选中“Window”图标,单击“OK”,出现窗口画板。(2) 单击“File”菜单下“Save As”,出现“Save Window”窗口,如下图 (3) 输入窗口名称W_student,单击“OK”保存。注意:窗口名称最好以W_开头,以示与其他对象的区别。,在上面窗口的注释栏(Comments)可以填写针对该窗口的注释。(4) 在窗口画板右边的“Properties”中选择“General”,在“Title”属性中输入窗口标题,如“学生信息录入”,在“Windows Type”属性中选择“main!”。3、向窗口中填加控件向窗口中添加下列控件:(1)静态文本(statictext)控件名称文本信息(text)用途St_1学生录入用于信息录入的提示St_2学号St_3姓名St_4出生日期(2)单行编辑器(SingleLineEdit)控件名称用途Sle_id输入学号Sle_name输入姓名(3)辑掩码控件(editmask)控件名称用途mask属性maskdatatypemaskem_birthday输入出生日期Datamask!Yyyy/mm/dd(3)编(4)成组框(groupbox)控件名称文本信息(text)用途Gb_1性别性别成组(5)单选按钮(radiobutton)控件名称文本信息(text)用途对应成组框rb_1男选择性别信息Gb_1rb_2女Gb_1(6)命令按钮(commandbutton)控件名称文本信息(text)用途Cb_add新增增加一条记录Cb_save保存保存信息添加控件后的窗口如下图:点击Preview图标预览效果 4、 编写脚本 /数据库连接/事务对象进行属性赋值SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=grade/连接connect using sqlca;/数据库是否正确连接的判断if sqlca.sqlcode= -1 thenmessagebox(提示,数据库连接错误!)returnend if /打开窗口w_studentopen(w_student)/(2)对窗口w_student的Open事件编程/ 在窗口w_student的编程窗口中选择open事件,输入以下程序:setnull(sle_id)setnull(sle_name)rb_1.checked=true/(3)对按钮cb_add的clicked事件编程setnull(sle_id)setnull(sle_name)em_birthday.text=rb_1.checked=truesle_id.setfocus()/(4)对按钮cb_save的clicked事件编程/对表中不能为空的字段进行判断,给出提示if sle_id.text= then messagebox(提示,学号不能为空!)sle_id.setfocus()returnend ifif sle_name.text= then messagebox(提示,姓名不能为空!)sle_name.setfocus()returnend ifif em_birthday.text=0000.00.00 then messagebox(提示,出生日期不能为空!)em_birthday.setfocus()returnend if/定义变量,用于从各个控件中获取输入值string ls_id /学号变量string ls_name /姓名变量string ls_sex /性别date ld_birthday /生日/变量赋值ls_id=sle_id.text /获取ID号ls_name=sle_name.text /取姓名/取性别if rb_1.checked=true then ls_sex=1elsels_sex=2end if/获取生日,需要进行数据类型转换ld_birthday=date(em_birthday.text)/主键判断,避免数据库中主键不唯一,数据库报错int li_countselect count(*) into :li_count from S where S#=:ls_id using sqlca;if li_count0 thenmessagebox(提示,该学号的学生已存在,请更改学号!)sle_id.setfocus()returnend if/应用嵌入式SQL语句向数据库中插入记录insert into Svalues (:ls_id,:ls_name,:ls_sex,:ld_birthday)using sqlca;/判断插入是否成功if sqlca.sqlcode=0 thencommit;messagebox(提示,保存完毕!)returnelserollback;messagebox(提示,SQLCA.SQLErrText)returnend if 一开始脚本出现很多错误,经过多次修改之后,错误消除脚本窗口5、 测试数据填写学生信息之后点击添加,在原来的表中就可以看到新添加的学生信息了,但数据的测试有时候会出现问题,有待改正。注意:实验过程必须提供主要关键的、可证明问题的实际运行图并结合文字说明予以描述实验结论描述经过这次的实验,我大概的学会了PowerBuilder的使用,特别是脚本深有理解。我成功的实现了学生的信息录入,对软件设计有了进一步的理解,再一次感觉到计算机的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论