1、 课程设计任务书 设计题目 超市管理系统 一、 课程设计目的 该课程设计是信息管理本科集中实践性环节之一,是学习完《数据库基础与应用》和《程序设计方法》课程后进行的一次全面的综合练习。其目的是通过本课程设计使学生对具体问题应用《程序设计方法》课程中所学的方法与技术,进行需求分析及软件设计的过程,不仅对程序设计方法课程中的所有知识点进行一个全面的复习巩固,更重要的是增强学生解决实际问题的能力。 二、 设计内容、技术条件和要求 内容: 1、可对学生信息及权限进行管理; 2、用户根
2、据不同的权限可对学生信息进行添加、删除、修改等操作; 3、可对学生的信息进行各种查询; 4、可对学生信息等进行报表打印和统计功能; 技术条件:powerbuilder开发工具的熟练运用,数据库理论知识和实际操作能力。 要求: 1、本课程设计要求学生独立设计完成。包括规划后台数据库、程序代码的编写以及软件界面的设计。 3、数据库中不能少于两个表。 4、程序应功能完善,界面友好,容错性好,操作方便。 三、 时间进度安排 系统分析与规划 半周 系统设计与调试 一周 撰写课程设计说明书 半周 四、 主要参考文献 郑阿奇.PowerBuilder实用教程.第2版.北京:电子
3、工业出版社,2004. 孙秋冬主编.PowerBuilder 应用开发实用教程.第1版.北京:高等教育出版社,2005. 费雅洁主编.PowerBuilder程序设计教程.第1版.北京:人民邮电出版社,2006. 1. 创建进入窗口 按钮“进入”下的代码 open(w_login) close(w_main) 2. 创建登录窗口 按钮“登陆”下的代码 string uid_lr,pwd_lr string uid_db,pwd_db int i uid_lr = sle_1.text pwd_lr = sle_2.text select count(
4、) into :i from gly where id = :uid_lr using sqlca; if i<1 then messagebox("对不起","该用户不存在!") sle_1.text = "" sle_2.text = "" sle_1.setfocus() return end if select password into :pwd_db from gly where id = :uid_lr using sqlca; if pwd_db <> pwd_lr then messagebox("对不起","密
5、码错误!") sle_2.text = "" sle_2.setfocus() return end if open(w_manage) close(w_login) 3. 创建进出口货窗口 4. 创建商品信息窗口 按钮“上一条”下的代码 int kk kk=dw_1.getrow() if kk=1 then messagebox("提示信息","已到达第一条!") else dw_1.scrollpriorrow() end if 按钮“下一条”下的代码 if dw_1.getrow
6、) = dw_1.rowcount() then messagebox("提示","已经是最后一条!") else dw_1.scrollnextrow() end if 按钮“第一条”下的代码 dw_1.scrolltorow(1) 按钮“最后一条”下的代码 int kk kk=dw_1.rowcount() dw_1.scrolltorow(kk) 按钮“添加”下的代码 //int kk // kk=dw_1.insertrow(0) // dw_1.scrolltorow(kk) // dw_1.setcolumn("goods") // dw_
7、1.setfocus() // int i i = dw_1.insertrow(0) dw_1.scrolltorow(i) dw_1.setfocus() 按钮“更新”下的代码 int kk,count dw_1.accepttext() count=dw_1.modifiedcount()+dw_1.deletedcount() if count>0 then if dw_1.update()=1 then commit using sqlca; messagebox("提示信息", "已保存"+string(count)+"条数据!")
8、 else rollback using sqlca; messagebox("提示信息","数据更新失败!") end if end if 按钮“删除”下的代码 int kk kk=messagebox("提示信息","确定要删除该数据吗?",exclamation!,yesno!) if kk=1 then dw_1.deleterow(0) dw_1.update() end if 5. 创建供应商信息窗口 按钮“上一页”下的代码 dw_1.scrollpriorrow() 按钮“下一页”下的代码 if
9、 dw_1.getrow() = dw_1.rowcount() then messagebox("提示","已经是最后一条!") else dw_1.scrollnextrow() end if 按钮“保存”下的代码 long rtn int i_count i_count = dw_1.modifiedcount()+dw_1.deletedcount() if i_count > 0 then IF dw_1.update() = 1 THEN COMMIT USING SQLCA; messagebox("提示","您已
10、经成功保存"+string(i_count)+"条数据!") ELSE ROLLBACK USING SQLCA; messagebox("提示","保存失败!") END IF end if 按钮“添加”下的代码 int i i = dw_1.insertrow(0) dw_1.scrolltorow(i) dw_1.setfocus() 按钮“删除”下的代码 int i i = messagebox("提示","你真的要删除该条记录吗?",question!,yesno!,1) if i=1 then dw_1.delet
11、erow(0) end if 6. 创建查询窗口 按钮“查询”下的代码 string kk kk = sle_1.text dw_1.settransobject(sqlca) dw_1.retrieve(kk) 创建增减删除记录窗口 查找下的代码 string uid_seek uid_seek = sle_1.text select id,password into :sle_1.text,:sle_2.text from gly where id= :uid_seek using sqlca; if sqlca.sql
12、code = 100 then messagebox("对不起","该用户不存在!") sle_1.text = "" sle_2.text = "" sle_1.setfocus() return end if 添加下的代码string uid_lr,pwd_lr int i uid_lr = sle_1.text pwd_lr = sle_2.text if trim(uid_lr) = "" or trim(pwd_lr) = "" then messagebox("对不起","请输入用户名和密码!") return end if
13、 select count(*) into :i from gly where id = :uid_lr using sqlca; if i>=1 then messagebox("对不起","该用户已经存在!") sle_1.setfocus() return end if insert into gly(id,password) values(:uid_lr,:pwd_lr) using sqlca; if sqlca.sqlnrows > 0 then messagebox("提示","添加成功!") commit using sq
14、lca; sle_2.setfocus() else messagebox("提示","添加失败!") rollback using sqlca; sle_2.setfocus() end if 删除下的代码 string uid_del int i,net uid_del = sle_1.text net = MessageBox("删除","是否真的要删除"+uid_del+"?",Exclamation!,OKCancel!,2) if net = 2 then return end if select count(*) into :
15、i from gly where id = :uid_del using sqlca; if i<1 then messagebox("删除失败","该用户不存在!") sle_1.setfocus() return end if delete from gly where id = :uid_del using sqlca; if sqlca.sqlcode <> 0 then messagebox("数据库错误","删除失败!") rollback; else messagebox("删除成功",uid_del + "用户的信息已经被
16、删除!") sle_1.text = "" sle_2.text = "" commit; end if 更新下的代码 string uid_lr,pwd_lr int i uid_lr = sle_1.text pwd_lr = sle_2.text messagebox("",string(sle_1.taborder)) sle_2.taborder = 20 if trim(uid_lr) = "" or trim(pwd_lr) = "" then messagebox("对不起","请输入用户名和密码!") return end
17、if select count(*) into :i from gly where id = :uid_lr using sqlca; if i<1 then messagebox("对不起","该用户不存在,无法修改其密码!" & +"~n要修改用户名,请先删除再添加!") sle_1.setfocus() return end if update gly set password=:pwd_lr where id =:uid_lr using sqlca; if sqlca.sqlnrows > 0 then messagebox("提示","密码修改成功!") commit using sqlca; sle_2.setfocus() else messagebox("提示","密码修改失败!") rollback using sqlca; sle_2.setfocus() end if
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818