




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用系统课程设计指导书 课程名称:数据库应用系统设计理论 院系年级:12级电气信息工程系 专业班级:计算机科学与技术一班 学 号: 姓 名: 指导老师: 河海大学文天学院2014年12月 一 引言 数据库应用系统是计算机应用的一个重要领域,在各行各业的管理工作中都发挥着非常重要的作用。数据库应用系统设计开发是一项复杂且困难的工作,主要体现在开发环境的复杂性、用户需求的多样性、技术手段的综合性三个方面。小型的数据库图书馆管理系统是一种典型的信息管理系统,图书馆管理系统包括许多内容,有图书的基本信息以及添加、删除、修改等,读者的基本信息以及借阅书籍的相关信息,用P0werBuilder9.0编写运行环境,它是一个集成的完全可视化的开发工具,使用PowerBuilder9.0可以用一种可视、直观的方式来创建应用程序所需的用户界面和数据库接口。通过数据窗口,用户可以轻松地完成客户端与服务器之间的数据交互,利用数据窗口控件,则可以方便地显示、修改和更新数据库中的数据。 二 相关技术2.1数据库应用工程原理 数据库应用编程通过对嵌入式的使用SQL语言,只有操作功能没有编辑功能。数据库应用中包括主语言系统、数据库系统等协调运行必须解决那些关键句属,动态SQL,数据库管理系统集中管理数据资源,实时监听应用系统有何种需求,应用请求立即响应,向应用程序返回操作,由主语言系统实现算法流程,主语言系统编译器不仅能在原有的主语言系统编译器的所有功能,而且可以嵌入式的主语言程序、编译程序调用。数据通信,游标通信,主变量的实现,游标实现不确定结果集的传递,数据库接口。2.2数据库技术 数据库技术有主语言程序连接数据事务对象的SQL技术、动态技术、事务控制技术、事务驱动程序的设计技术、数据库通信技术,数据库连接技术等。2.3数据库通信技术 数据库通信技术有数据通信,游标通信,SQLCA事务对象,数据库访问接口ODBC能支持本地的SQL语言,应用程序中主语言传入目标数据库以及数据库SQL语言嵌入的只能是官方的SQL语言,数据库接口开放性、互联性,目标数据库专用的数据库访问接口,访问一个应用程序端都需要安装程序接口。2.4动态SQL技术 动态SQL技术处理程序当中的人机交互和大量数据库存取操作,存取操作的SQL语言所需要的参数需要人机交互,程序执行过程的人机交互,在程序设计中需要SQL语言的动态处理程序要求,动态SQL分动态更新、动态查询等,动态更新是直接执行的,SQL主语言系统连接数据库系统,数据连接具有交互性。2.5数据库事务控制技术 所谓事务,是由于用户定义的一个数据库操作序列,这些操作或者全部执行或者一个都不执行,它是一个不可分割的逻辑工作单元,这种事务由于是作为一个单元整体被执行的,有时也被称为原子事务。例如,在常用的关系数据库应用中,一个事务可以是一条SQL语句,一组SQL语句或者整个程序,但要注意,实务和程序是不同的两个概念,一般来说,一个程序中可包含若干事务。事件驱动程序设计技术:事件就是对象可能会发生的事情,微软的视窗系统(Windows)就是一个事件驱动环境,在事件驱动环境中,程序的流程并不能够预先确定,而是特定的事件触发应用程序中对应的某段代码,运行完成这些代码后系统会进入等待状态,等待下一个事件触发相应的代码。Powerbuilder的应用程序是事件驱动,事件是由windous系统通过消息(message)传递的,windows系统接收到所有的硬件和软件事件(如按键,鼠标拖动,系统定时器等事件),并将事件转换为消息发送给相应的对象(窗口控件等),消息中包含了其类型码,类型码代表事件的类型,在PowerBuilder中用户可以为事件编写脚本,从而控制程序的运行,对用户的动作,或系统事件做出反应,在PowerBuilder中每一类对象都有一些预定义的事件,比如按钮控件有单击(clicked)事件,编辑框有更新(modified)事件等,一般来说,这些预定义的事件能满足用户的需求,如有特殊需求,用户还可以定义自己的用户事件。 三 系统分析3.1数据需求3.11图书馆管理系统: 实体:学生,图书联系:学生借阅图书数据字典:对于数据流图中的每个元素,都可以额通过数据字典加以描述,以保证数据定义的严格性,针对上述系统的数据字典如下:借阅者管理=添加借阅者|修改借阅者|删除借阅者|检索借阅者图书管理=添加图书|修改图书|删除图书|检索图书借阅信息管理=添加借阅信息|修改借阅信息|删除借阅信息|检索借阅信息管理个人信息=检索个人信息|修改个人信息基本信息维护请求=对借阅者类别信息的维护|对图书类别信息的维护|对登陆用户的维护对借阅者类别信息的维护=对借阅者类别信息的添加|对借阅者类别信息的修改|对借阅者类别信息的删除|对借阅者类别信息的检索对图书类别信息的维护=对图书类别信息的添加|对图书类别信息的修改|对图书类别信息的删除|对图书类别信息的检索对登录用户的维护=对用户信息的添加|对用户信息的修改|对用户的删除|对用户信息的检索注册用户=借阅卡信息注册用户=借阅者借阅卡号=3数字3(假设)性别=男|女身份证号=18数字18联系电话=(区号)+7数字7区号=4数字4办证日期=年+月+日已借书数目=0|1|2|3|4|5|6|7|8|9|10是否挂失=挂失|没挂失挂失=1没挂失=0图书信息=图书号+书名+作者+出版社+出版日期+单价+图书类别+存放位置+入库日期+是否借出图书=图书信息图书号=3数字3()假设同一本书副本编号=0|1|2|3|4|5|6|7|8|9出版日期=年+月+日图书类别=一类图书|二类图书|三类图书|四类图书|五类图书|六类图书入库日期=年+月+日是否借出=借出|未借出借出=1未借出=0 借阅信息=借阅卡号+姓名+ +书名(16)借出日期=年月日实际归还日期年月日系统基本信息借阅者类别信息|图书类别信息|系统用户能借书的数量=1|2|3|4|5|6单位:本图书类别信息图书类别可借天数图书超期每天罚款金额图书类别=一类图书|二类图书|三类图书|四类图书|五类图书|六类图书可借天数=10|20|30|40|50|60|70单位:天图书超期每天罚款金额=0.1|0.2单位:元系统用户=用户名+密码+是否管理员用户名=姓名密码=1字母|数字8是否管理员=是管理员|不是管理员是管理员=1不是管理员=03.12图书馆管理系统的ER图根据上一小节的数据字典,得到系统E-R图,如图3.121-3.125。物理结构:对应图书管理系统有六张表,分别是:表3-121“借阅者表”,表3-122“图书表”,表3-123“借阅表”,表3-124“借阅者类别表”,表3-125“图书类别表”,表3-126“系统用户表”。表3-121借阅者表字段名称数据类型是否关键字是否可以为空借阅卡号decimal是否姓名Varchar(20)否否性别Boolean否否身份证号Varchar(30)否否单位Varchar(30)否是家庭住址Varchar(30)否是联系电话Varchar(30)否是借阅者类别Varchar(30)否否办证日期datetime否否已借书数目int否是是否挂失boolean否是表3-122图书表字段名称数据类型是否关键字是否可以为空图书号decimal是否书名Varchar(20)否否作者Varchar(20)否否出版社Varchar(20)否否出版日期datetime否否单价money否否图书类别否否存放位置Varchar(30)否是入库日期datetime否是是否借出boolean否否表3-123借阅表字段名称数据类型是否关键字是否可以为空借阅卡号decimal是否图书号decimal是否姓名Varchar(20)否是书名Varchar(20)否是借出日期datetime否否实际归还日期datetime否否罚款金额money否是表3-124借阅者类别表字段名称数据类型是否关键字是否可以为空借阅者类型Varchar(30)是否能借书的数量int否否表3-125图书类别表字段名称数据类型是否关键字是否可以为空图书类别Varchar(30)是否可借天数int否否图书超期每天罚款金额money否是表3-126系统用户表字段名称数据类型是否关键字是否可以为空用户名Varchar(20)是否密码Varchar(20)是否是否是管理员boolean否是3.2功能需求以图书管理为例使用powerbuilder创建表,建立数据连接,及事件的驱动,控键按钮等建立起图书系统,包括管理员的登陆,图书信息的查询,增,删,改等功能。以及系统的维护。本系统实现功能有:查询功能:用户查询自身所借书的名称,所借书本数,个人信息的查询;登陆系统:用户个人登陆账号,密码界面;用户设置登陆密码,修改密码;查询信息:方便快速定位;功能需求:图书管理系统完整功能需求如下:(1)借阅者管理每个通过审查的人可以办理一张借阅卡,拥有用户名、密码,成为注册用户。此卡包含所有个人信息,以后所有图书借阅活动凭此卡进行,直至该卡被注销或删除。因此,对借阅者的管理包括相关信息的添加、修改、删除、检索。1)图书信息管理新书入库:每本新到图书需将详细信息添加入库,方可对外借阅。图书检索:馆藏图书丰富,须提供图书快速查询检索功能。图书信息修改:图书基本信息入库时已基本确定,但是一些辅助信息,如存放位置,是否接触等会有变化,须提供修改功能。图书信息删除:对于太过破旧被淘汰或者丢失的书籍,要从系统信息中删除。2)图书借阅信息管理系统核心功能之一。图书管理系统最主要的功能是对图书的借出和归还。主要涉及被借阅的图书和借阅者,即图书基本信息,借阅者部分信息,借出归还日期等。具体来说,对于借书,首先获得借阅者的信息,看其是否有权利借书,其次检查相关书籍,看其是否被可以被外借;对于还书,同样也需要借阅者信息和图书信息才能还书,同时还要计算本次借阅是否超期,超期要计算出罚款金额,借阅者交了足额罚款才能还书成功。此外,对于历史借还记录要提供查询功能;同时由于存储空间限制,不能永久保存历史记录,还需提供删除记录功能。3)用户登录该系统用户主要有系统管理员和普通注册用户(即持有借阅卡的借阅者)两种。系统管理员拥有所有功能权限,普通注册用户只能管理个人信息和检索需要图书。系统要对不同的用户给予不用权限,每个合法用户凭登录名和密码登陆此系统。4)系统基本信息管理对借阅者类别的设置:对于借阅者设置不同类别,不同类别的借阅者设置不同的借阅图书数量上限。对图书类别的设置:不同类别图书的借阅期限不同,超期后的罚款金额也不同。对系统用户的管理:本系统暂定两类用户,系统管理员和普通注册用户,不同用户拥有不同的使用权限。3.3运行环境需求 图书馆管理系统采用PowerBulider9.0来进行操作的,虽然PowerBuilder不断的在更新,功能不断的在增加,针对于不同的企业或个人都能找到适合自己的版本,但对于小型的图书馆管理系统的运行开发已经足够了,它是一种面向对象编程的快速开发工具,方便使用。 四 系统设计与实现4.1用户界面技术 本系统共设置了“服务工具”,“个人信息编辑”,“图书信息查询”,“系统维护”,“图书管理”,这五个菜单,在设计中在tushumenu中设置,并为每个菜单项的子选项设置“clicked”事件,使每个功能项能够连接数据库,并且实现其工能选项:4.2数据查询与编辑功能设计 该系统设计了一个主控功能选项,用户只有登录之后才能访问和使用该系统,连接数据库后用户能够访问个人信息,按类查询图书,查询自己所借图书详细信息等。学生主体信息,学生信息的增删改功能等增加个人信息表:(为了简化工作量,减少了部分个人信息)删除个人信息表没有选中学生表时,弹出的对话窗口删除个人信息表选中学生信息时,弹出的对话窗口修改个人信息表没有选中学生信息时,弹出的对话窗口修改个人信息表选中学生信息时,弹出的对话窗口该功能主要是图书按类别查询(该系统一图书馆图书的出版社为类别筛选)添加功能实现部分:修改功能实现部分:删除功能实现部分: 本章内容主要展示了我做的图书管理系统的功能实现,open事件代码,clicked事件代码。也就是各个实现功能的代码,即该系统的详细内容。 移植工具代码,连接数据库:getenvironment(ge_Environment)this.microhelpdefault = 研制人:河海大学文天学院 咨询电话:12345678901inifile = tushu.iniopen(w_main)/Data source name for ODBC: mydb/DataBase Profile Name : mydb/DataBase Account: dba-sql代码部分如下:登陆系统:open(w_login)退出系统:close(parent)修改口令:open(w_cpasswd)学生档案编辑:setpointer(HourGlass!)opensheet(w_tushu_2_browse,w_main,1,layered!)学生档案查询:setpointer(HourGlass!)opensheet(w_tushu_2_query,w_main,1,layered!)图书信息编辑:setpointer(HourGlass!)opensheet(w_tushu_4_browse,w_main,1,layered!)图书信息查询:setpointer(HourGlass!)opensheet(w_tushu_4_query,w_main,1,layered!)设置用户账户:opensheet(w_set,w_main,1,layered!)图书类别编辑:setpointer(HourGlass!)opensheet(w_jj_browse,w_main,1,layered!)主窗口Open事件:(1)通过游标生成系别的下拉列表;(2) 为数据窗口设置事务对象。系别名称下拉列菜单select的事件:(1) 获取下拉列表当前系列名称;(2) 对数据窗口按系别名称提取数据。Open事件代码:setdbparm_for_sqlca();connectdb_by_sqlca();string mclong i;sle_logid.reset()declare start1 cursor for select user_xm from dmuserwhere allow_log = y and xm_select = yorder by user_xm;open start1;fetch start1 into :mc;i = 1do while sqlca.sqlcode = 0sle_logid.InsertItem(mc,i)i = i + 1fetch start1 into :mc;loopclose start1;数据窗口的click事件:(1) 获取当前行的行号;(2) 撤销原有的高亮度;(3) 为当前行号设置高亮度。确认按钮事件:string password,allow_log,log_stringlog_string = sle_logid.textselect user_xm,password,allow_log into :czyxm,:password,:allow_log from dmuser where user_xm = :log_string;if sqlca.sqlcode = 100 or trim(sle_logpass.text) password thenmessagebox(警告,Error 6 您的帐户不正确,不能登录系统!)sle_logid.setfocus()returnend ifif not allow_log = y thenmessagebox(警告,Error 7 您的帐户没有获准注册权限,不能登录系统 !)sle_logid.setfocus()returnend ifstring db_edit,db_query,sys_whselect db_edit,db_query,sys_whinto :db_edit,:db_query,:sys_whfrom dmuser where user_xm = :czyxm;if sqlca.sqlcode 0 thenmessagebox(警告,您的帐户不正确, 请系统管理员检查您的帐户 !)returnend ifif isnull(db_edit) then db_edit = nif isnull(db_query) then db_query = nif isnull(sys_wh) then sys_wh = nopen(w_main)messagebox(,登陆成功)close(parent)放弃:close(parent)系统维护功能增加用户修改功能:删除功能:代码部分:Open事件代码:rollback;if not pb_1.enabled thenmessagebox(提示, 您在“编辑”状态下退出,会丢失刚才的编辑结果 ! )end if主窗口代码:if not row 0 thenreturnend ifif edit_bz = thenthis.selectrow(0,false)this.selectrow(row,true)this.SetRow ( row )returnend if添加按钮click事件:(1) 打开编辑窗口,发送“添加”标志;(2) 等编辑窗口关闭以后,浏览数据窗口与数据库同步。添加按钮控件:int old_row,new_rowold_row = dw_1.getselectedrow(0)if not old_row 0 thenold_row = 0end ifdw_1.selectrow(0,false)new_row = dw_1.insertrow(old_row)dw_1.selectrow(new_row,true)dw_1.setitem(new_row,allow_log,y)dw_1.modify(user_xm.tabsequence = 10)dw_1.modify(password.tabsequence = 20)dw_1.modify(allow_log.tabsequence = 30)dw_1.modify(xm_select.tabsequence = 40)dw_1.modify(db_edit.tabsequence = 50)dw_1.modify(db_query.tabsequence = 60)dw_1.modify(sys_wh.tabsequence = 70)pb_1.enabled = falsecb_1.enabled = falsecb_2.enabled = falsecb_3.enabled = falsecb_4.enabled = truecb_5.enabled = trueedit_bz = append修改按钮click事件:(1) 要获取数据窗口当前行的行号;(2) 打开编辑窗口;(3) 把靶子记录行号、学号送到消息队列并且把“修改”标志传送到消息队列中,同步数据窗口与表数据。修改按钮代码:int nn = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示, 请选择将要修改的用户记录!)returnend ifdw_1.modify(user_xm.tabsequence = 10)dw_1.modify(password.tabsequence = 20)dw_1.modify(allow_log.tabsequence = 30)dw_1.modify(xm_select.tabsequence = 40)dw_1.modify(db_edit.tabsequence = 50)dw_1.modify(db_query.tabsequence = 60)dw_1.modify(sys_wh.tabsequence = 70)pb_1.enabled = falsecb_1.enabled = falsecb_2.enabled = falsecb_3.enabled = falsecb_4.enabled = truecb_5.enabled = trueedit_bz = modify删除按钮click事件:(1) 获取数据窗口靶记录;(2) 打开编辑窗口;(3) 编辑窗口返回以后浏览数据窗口,同步显示数据库。删除按钮代码:int n,rowsub, net, delopt = 0,have_sub = 0 ,yn1string user_dm,gl_sys = n = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示, 请选择将要删除的用户记录!)returnend ifuser_dm = dw_1.getitemstring(n,user_xm)gl_sys = dw_1.getitemstring(n,sys_wh)if gl_sys = y then goto outdw_1.deleterow(n)pb_1.enabled=falsecb_1.enabled=falsecb_2.enabled=falsecb_3.enabled=falsecb_4.enabled=truecb_5.enabled=trueedit_bz = deletereturnout:messagebox(提示, 当前用户 + 是系统管理员,禁止删除! )return放弃按钮功能:int the_rowthe_row = dw_1.GetSelectedRow(0)rollback ;dw_1.modify(user_xm.tabsequence = 0)dw_1.modify(password.tabsequence = 0)dw_1.modify(allow_log.tabsequence = 0)dw_1.modify(xm_select.tabsequence = 0)dw_1.modify(db_edit.tabsequence = 0)dw_1.modify(db_query.tabsequence = 0)dw_1.modify(sys_wh.tabsequence = 0)pb_1.enabled=truecb_1.enabled = truecb_2.enabled = truecb_3.enabled = truecb_4.enabled=falsecb_5.enabled=falsedw_1.retrieve()user_edit = falseif the_row 0 thendw_1.selectrow(0,false)dw_1.selectrow(the_row,true)end ifedit_bz = 确认按钮:string ppp,ppint n,have_sys = 0IF dw_1.AcceptText() 1 THENreturnEND IFn = dw_1.getselectedrow(0)if n 0 thenppp = dw_1.getitemstring(n,user_xm)if isnull(ppp) or trim(ppp) = thenmessagebox(提示, 用户姓名不能为空 ! )returnend ifppp = dw_1.getitemstring(n,sys_wh)if trim(ppp) = y thenpp = dw_1.getitemstring(n,allow_log)if not trim(pp) = y thenmessagebox(提示, 系统管理员必须有“获准注册”的权限 ! )returnend ifend ifend ifif dw_1.update() 1 thenrollback ;messagebox(提示, 存盘失败,可能:用户代码重复 ! )returnend ifselect count(*) into :have_sys from dmuser where UPPER(sys_wh)=Y;if have_sys = 0 thenrollback ;messagebox(提示, 不能存盘,至少应该有一个系统管理人员 ! )returnend ifcommit;dw_1.modify(user_xm.tabsequence = 0)dw_1.modify(password.tabsequence = 0)dw_1.modify(allow_log.tabsequence = 0)dw_1.modify(xm_select.tabsequence = 0)dw_1.modify(db_edit.tabsequence = 0)dw_1.modify(db_query.tabsequence = 0)dw_1.modify(sys_wh.tabsequence = 0)pb_1.enabled = truecb_1.enabled = truecb_2.enabled = truecb_3.enabled = truecb_4.enabled = falsecb_5.enabled = falseedit_bz = 代码部分Open事件代码:connect;dw_1.settransobject(sqlca)dw_1.retrieve()窗口事件:if not row 0 thenreturnend ifthis.selectrow(0,false)this.selectrow(row,true)增加按钮代码:OpenWithParm(w_tushu_3_edit, appe)if message.stringparm = reload thendw_1.SetRedraw(false)dw_1.reset()dw_1.retrieve()dw_1.SetRedraw(true)end if修改按钮代码:string snuint nn = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示,请选择将要修改的学生登记记录!)returnend ifsnu = dw_1.getitemstring(n,snumber)messagebox(,snu)snu1=snust_1.text=snuOpenWithParm(w_tushu_3_edit, edit +snu)if message.stringparm = reload thendw_1.SetRedraw(false)dw_1.reset()dw_1.retrieve(depart)dw_1.SetRedraw(true)end ifdisconnectdb_by_sqlca();删除按钮代码:string snuint nn = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示,请选择将要删除的学生记录!)returnend ifsnu = dw_1.getitemstring(n,snu)OpenWithParm(w_tushu_3_edit, dele + snu )if message.stringparm = reload thendw_1.SetRedraw(false)dw_1.reset()dw_1.retrieve(depart)dw_1.SetRedraw(true)end if查询功能实现:Open事件:Open事件代码:tab_1.tabpage_2.dw_1.settransobject(sqlca )主控件代码:string str,condition,valuesetpointer(HourGlass!)tab_1.tabpage_2.dw_1.SetRedraw(false)str = snumber.visible=0 sname.visible=0 sex.visible=0 birth.visible=0 + & depart.visible=0 address.visible=0 tab_1.tabpage_2.dw_1.modify(str)if tab_1.tabpage_1.cbx_1.checked thenstr = snumber.visible=1 tab_1.tabpage_2.dw_1.modify(str)end ifif tab_1.tabpage_1.cbx_2.checked thenstr = sname.visible=1 tab_1.tabpage_2.dw_1.modify(str)end ifif tab_1.tabpage_1.cbx_3.checked thenstr = sex.visible=1 tab_1.tabpage_2.dw_1.modify(str)end ifif tab_1.tabpage_1.cbx_4.checked thenstr = birth.visible=1 tab_1.tabpage_2.dw_1.modify(str)end ifif tab_1.tabpage_1.cbx_5.checked thenstr = depart.visible=1 tab_1.tabpage_2.dw_1.modify(str)end ifif tab_1.tabpage_1.cbx_6.checked thenstr = address.visible=1 tab_1.tabpage_2.dw_1.modify(str)end if date pp pp = date(1998/02/02)condition = value = trim(tab_1.tabpage_1.sle_1.text)if not (isnull(value) or value = ) thencondition = snumber= + value + end ifvalue = trim(tab_1.tabpage_1.sle_2.text)if not (isnull(value) or value = ) thenif condition = thencondition = sname= + value + elsecondition = condition + and sname= + value + end ifend ifvalue = trim(tab_1.tabpage_1.sle_3.text)if not (isnull(value) or value = ) thenif condition = thencondition = sex= + value + elsecondition = condition + and sex= + value + end ifend ifvalue = trim(tab_1.tabpage_1.sle_4.text)if not (isnull(value) or value = ) thenif condition = thencondition = birth=date( + value + )elsecondition = condition + and birth=date( + value + )end ifend ifvalue = trim(tab_1.tabpage_1.sle_5.text)if not (isnull(value) or value = ) thenif condition = thencondition = depart= + value + elsecondition = condition + and depart= + value + end ifend ifvalue = trim(tab_1.tabpage_1.sle_6.text)if not (isnull(value) or value = ) thenif condition = thencondition = address= + value + elsecondition = condition + and address= + value + end ifend ifif condition = thenstr = select snumber,sname,sex,birth,depart,address from tushu_2elsestr = select snumber,sname,sex,birth,depart,address from tushu_2 where + conditionend if/messagebox(dd,str)tab_1.tabpage_2.dw_1.reset()tab_1.tabpage_2.dw_1.setsqlselect(str)tab_1.tabpage_2.dw_1.retrieve()tab_1.tabpage_2.dw_1.SetRedraw(true)图书按类别查询(本系统以出版社为类别搜索条件,执行搜索功能)添加功能:修改功能:删除记录:代码实现部分:Open事件代码:connectdb_by_sqlca();int ideclare cc1 cursor for select distinct 出版社 from lei_kj;open cc1;fetch cc1 into :ctype;i = 1do whi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁夏18年中考数学试卷
- 曲靖市入学考试数学试卷
- 龙沙区六年级数学试卷
- 宁波四中高一数学试卷
- 龙实三阶数学试卷
- 园林施工人力资源配置优化路径研究分析报告
- 2025年玻璃纤维网垫项目建议书
- 七年级下册手抄数学试卷
- 轨道交通雨水收集成本效益分析报告
- 彭山区数学试卷
- 光谷华科附小数学试卷
- 学校公文写作培训
- 药品责任赔偿管理制度
- 中国2030年能源电力发展规划研究及2060年展望
- 外协供应商品质管理制度
- BIM技术在绿色建筑碳足迹计算与优化中的应用研究
- 易制毒考试试题及答案
- 2025至2030中国普惠金融行业产业运行态势及投资规划深度研究报告
- 中级经济师人力资源管理专业历年模拟真题及答案
- 压力管道定期安全自查记录表
- JG/T 197-2018预应力混凝土空心方桩
评论
0/150
提交评论