宁波工程学院课程设计报告
4-3各功能模块的实现 4-3-1 登录模块设计
登录模块实现用户登录功能,负责验证输入的用户名和密码的正确性,涉及的数据表为users表。主要功能如下:1)登录,2)添加新用户,3)修改密码。登录模块的实现界面如图4-2、图4-3、图4-4所示。
图4-2登录界面
界面及相关控件的实现代码为:
(1)登录按钮(cb_1)的clicked事件代码为: ls_username=trim(sle_1.text) //输入的用户名和密码 ls_password=trim(sle_2.text)
if ls_username=\ messagebox(\提示\用户名和密码不能为空\else SELECT users.name, users.password INTO :gs_username, :gs_password FROM users WHERE ( users.name = :ls_username ) AND ( users.password = :ls_password ); if sqlca.sqlcode=0 then open(x_main) //密码正确,打开主窗口 close(x_login) else li_n=li_n - 1 if li_n<>0 then
5
宁波工程学院课程设计报告
messagebox(\提示\用户名或密码错误\ else messagebox(\提示\错误超过 3 次,自动退出\ halt //错误超过 3 次,退出程序 end if end if end if
(2)退出按钮的事件代码 close(parent)
图4-3添加及修改新用户
(1)添加控件的程序(图4-3-1)
图4-3-1添加控件程序
(2)保存控件的程序
if dw_1.update()=1 then commit;
messagebox(“提示”,”保存成功”) end if
6
宁波工程学院课程设计报告
图4-4密码修改界面
(1)确定按钮的程序
if trim(sle_1.text)<>ls_password then messagebox(\提示\旧密码错误\else if trim(sle_2.text)=trim(sle_3.text) then ls_password=trim(sle_2.text)
UPDATE users SET password = :ls_password
WHERE ( users.name = :gs_username ) AND ( users.password = :gs_password ) ; if sqlca.sqlcode<>0 then messagebox(\提示\密码修改不成功\ else close(parent) messagebox(\提示\密码修改完成\ end if else messagebox(\提示\两次新密码不相同\end if end if
7
宁波工程学院课程设计报告
4-3-2 价格管理模块设计
价格管理模块实现用户查询功能,负责对商品价格的查询、排序、修改等功能,涉及的数据表为sth表。主要功能如下:1)查询,2)排序,3)添加。价格管理模块的实现界面如图4-5、图4-6、图4-7、图4-8所示。 查询又分为区间查询和按id、name、price查询
图4-5区间查询图 4-6按id、name、price查询
(1)筛选控件的程序 string condition,condition1 if cbx_1.checked=true then if cbx_2.checked=false then dw_1.setfilter(\ dw_1.filter()
dw_1.setsort(\dw_1.sort() end if end if
if cbx_2.checked=true then if cbx_1.checked=false then dw_1.setfilter(\
8
宁波工程学院课程设计报告
dw_1.filter() dw_1.setsort(\dw_1.sort() end if end if
if cbx_1.checked=true then if cbx_2.checked=true then condition=\ condition1=\ dw_1.setfilter(condition+\ dw_1.filter() dw_1.setsort(\dw_1.sort() end if end if
dw_1.settransobject(sqlca) dw_1.retrieve()
(2)开始查询控件的程序 dw_1.settransobject(sqlca) dw_1.retrieve()
if rb_1.checked=true then if dw_1.rowcount()= 0 then messagebox(\提示\无效\ end if dw_1.setfilter(\ dw_1.filter() end if
if rb_2.checked=true then if dw_1.rowcount()= 0 then messagebox(\提示\无效\ end if dw_1.setfilter(\ dw_1.filter() end if
if rb_3.checked=true then if dw_1.rowcount()= 0 then messagebox(\提示\无效\ end if dw_1.setfilter(\ dw_1.filter() end if
9