一、用户需求分析
该实习完成的是一个简单的学生学籍管理系统,功能比较简单,要在实际中应用还需进一步的改进和功能的进一步的扩充,它实现的功能如下
1、完成数据的录入和修改,并提交数据库保存。其中的主要数据包括学生的基本信息以及操作员管理等。
2、实现学生信息的简单查询、高级查询及人数的统计。
3、信息具有一定的安全性。对操作员要有口令管理
使用的开发工具:PowerBuilder9.0
二、设计数据库
在下面的表的结构的描述中 ,遵循以下规则:
表的中文含义(表名),如 “学生档案表(student)”。
列的中文含义:列名(数据类型及宽度)[能否为空] [pk]
如“学号:student_id(C12) [n][pk]”表示该列的中文含义是“学号”,列名是 “student_id” 数据类型是“char”,宽度是12,不能为空,[pk]说明该列作为主键。各个表的结构如下
1、学生档案表(student)
学号:student_id(C12) [n] [pk]
姓名:student_name(C12) [y]
性别:sex(C2) [y]
生日:birthday(date)[y]
民族:nation(C10)[y]
政治面貌:background (C10)[y]
学院:department_name (C40)[y]
专业:major_name (C40) [y]
班级:class (C4)[y]
籍贯:hometown (C20) [y]
联系地址:address (C30) [y]
电话:telephone (C20) [y]
备注:remark(C30) [y]
2、操作员表(operator)
编号:operator_id (C20)[n] [pk]
姓名:operator_name (C20) [y]
密码:password (C10) [y]
然后在PowerBuilder9.0中创建ASA本地数据库,操作步骤如下
1、 从“Tools”菜单中选择“Database Profile…”菜单项,系统显示“Database Profiles”对话框,单击“ODBC”项目中“Utilities”图标左边的“+”。
2、 双击“Utilities”项目下的“Create ASA Database”项 ,系统显示“Create ASA Database”对话框。
3、配置数据库的属性。用户名和密码都取默认值,数据库名为student。
4、配置好其他属性后单击OK按钮。
这样就完成了ASA本地数据库的创建。然后在student数据库重创建上面的表。完成了数据库及表的创建,然后连接到数据库,这样子数据库的连接参数都保存在注册表中。以后就可以使用了。
三、系统设计
1、创建应用库和应用对象
工作区名为student.dbw
应用库名为student.dbl
应用对象名为 student,注释名为学生学籍管理系统
对应用对象的open事件进行编程,包括:打开应用程序的封面窗口,设置数据库的连接参数并连接数据库,然后打开登陆窗口。我只使用了一个数据库,用的数据库事务对象是默认的SQLCA。
Open事件中的程序代码:
open(m_welcome)//打开应用程序启动封面窗口
// Profile student
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=student;UID=;PWD='"
connect ;
if sqlca.sqlcode<>0 then
messagebox("提示","数据库连接错误,请检查后重试!",stopsign!)
close(m_welcome)
else
messagebox("提示","数据库已经连接上,点击确定进入",information!)
close(m_welcome)
open(w_login)
end if
2、创建全局变量
string gs_password//操作员的口令
string gs_operator_id//操作员的编号
3、创建菜单
菜单名称为m_menu ,各菜单项及相应的Clicked事件中的代码如下:
学生档案管理 (m_file)
更新(m_input):open(w_input)
学号查询(m_query): open(w_query)
w_query.sle_query_id.setfocus()
高级查询(m_querymore):open(w_querymore)
系统设置(m_system)
口令更改(m_chagepassword):open(w_changepassword)
重新登陆(m_relogin): w_main.visible=false
open(w_login)
关于(m_about)
退出(m_quit):disconnect;halt
4、创建数据窗口
1、d_student:学生档案数据窗口。
创建选项:Grid;
显示风格;Quick Select;
数据源 student表,选择所有列;
按student_id排序;
2、d_studentshort:学生学号显示窗口。
创建选项:Grid;
显示风格;Quick Select;
数据源 student表,选择学号属性列;
按student_id排序;
5、创建窗口并在窗口中放置所需的控件
1、w_welcome:封面窗口。
创建选项 Title=“欢迎(欢迎使用学生学籍管理系统测试版)”
WindowType=“popup”
st_welcome.Text=“欢迎使用学生档案管理系统”
st_connect.Text=“正在连接数据库...”