《软件开发工具》实践考试 复习资料

    技术2025-06-15  21

    软件开发工具 实践考试 (脚本)

    一、创建数据库(employee)、创建表(emp)、关键字emp_id 、填入数据、建立连接、创建登录窗口    字段:emp_id,emp_name,dept_id,nplace,sex,birthday(日期型),post,salary(数字型),resume

    1.创建应用(pbtutor)open(w_welcome)disconnect using sqlca;

    2.创建登录窗口(w_welcome)三个静态文本,两个单行编辑,两个命令按钮脚本

    静态文本:(st_welcome,st_userid,st_passwd),单行编辑(sle_userid,sle_passwd),按钮(cb_ok,cb_cancel)

    (1)cb_ok按钮if parent.wf_dbconnect(sle_userid.text,sle_passwd.text)=-1 then   messagebox("database connect error","unable to connect."+sqlca.sqlerrtext)   haltelse   close(parent)end ifopen(w_main)

    (2)cb_cancel按钮halt close

    3.在w_welcome中建立窗体函数wf_dbconnect (userid string,passwd string)script

    string ls_userid,ls_passwd,ls_dbparmls_userid=trim(userid)ls_passwd=trim(passwd)ls_dbparm="connectstring='DSN=employee;"sqlca.dbms='odbc'sqlca.dbparm=ls_dbparm+"uid="+ls_userid+";pwd="+ls_passwd+""connect;return sqlca.sqlcode

    二、创建菜单(m_main)系统功能(m_function)---(数据录入m_input 脚本:open(w_emp))----(数据查询m_query)----按姓名查询(m_namequery 脚本:open(w_namequery))

    退出(m_exit 脚本:halt close)

    三、创建数据窗口对象1.(d_empmaster)其中quick select (grid)选择emp中前三个字段和post (emp_id 中选择ascending项)

    2.(d_empdetail)其中SQL select (freeform)选择emp中全部字段,选择design菜单下retrieval auguments项,输入(emp_id string) 定义where,标签中选择 "emp"."emp_id" = :emp_id

    3.(d_namequery)其中SQL select(grid)选择emp中除resume外的所有,where("emp"."emp_name"like:emp_name)

    四.创建数据窗口

    1.新建w_emp(类型main),在w_emp中选择控件data window,其中左边(dw_master--d_empmaster),右边(dw_detail--d_empdetail)   选择5个命令按钮(cb_insert插入记录 cb_delete删除记录 cb_commit确认 cb_cancel取消 cb_quit退出)>>>w_emp脚本:      dw_master.settransobject(sqlca)   dw_detail.settransobject(sqlca)if dw_master.retrieve() <> -1 then   dw_master.setfocus()   dw_master.setrowfocusindicator(hand!)end if

    >>>dw_master脚本:string sl_empid    sl_empid=this.object.dataif dw_detail.retrieve(sl_empid)=-1 thenmessagebox("检索","检索雇员详细信息出错")end if

    >>>5个命令按钮脚本cb_insert脚本:

    dw_detail.reset()dw_detail.insertrow(0)dw_detail.setfocus()

    cb_delete脚本:dw_detail.deleterow(0)

    cb_commit脚本:if dw_detail.update()=1 then   commit using sqlca;   messagebox("保存","保存成功!")else   rollback using sqlca;end if   dw_master.retrieve()   dw_detail.setfocus()

    cb_cancel脚本:dw_master.retrieve()dw_detail.setfocus()

    cb_quit脚本:close(parent)

    2.新建w_namequery(类型main),1个静态文本(输入雇员姓名)、1个单行编辑(sle_empname),1个(dw_namequery--d_empnamequery)   3个命令按钮(cb_query查询 cb_reset清除 cb_quit退出)

    w_namequery脚本:dw_namequery.settransobject(sqlca)

    3个命令按钮脚本:(1)cb_query脚本:

    if sle_empname.text="" then   messagebox("提示","请输入要查询的雇员名!")else   dw_namequery.retrieve(sle_empname.text)end if

    (2)cb_reset脚本:

    sle_empname.text=""dw_namequery.reset()

    (3)cb_quit脚本:

    close(parent)

     

    最新回复(0)