收藏 分销(赏)

数据库设计完整流程.doc

上传人:丰**** 文档编号:4064327 上传时间:2024-07-26 格式:DOC 页数:26 大小:220.54KB
下载 相关 举报
数据库设计完整流程.doc_第1页
第1页 / 共26页
数据库设计完整流程.doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述
目录 实验一软件分析3 一、功能说明3 二、E-R图3 三、逻辑表格5 四、任务6 实验二创建项目及数据库6 一、创建项目6 二、创建数据库6 三、创建表并设定索引6 四、建立表之间的关系8 五、任务9 实验三数据可视化操作9 一、添加记录9 二、修改记录12 三、删除记录12 四、任务12 实验四使用命令操作数据库12 一、数据库及表操作12 二、任务15 实验五表单设计15 一、表单分析15 二、使用向导创建表单16 三、使用表单设计器修改表单19 四、完成其他表单23 实验六编写代码28 一、创建系统主程序28 二、编写登录表单的代码29 三、编写主表单程序代码30 四、编写管理员管理代码34 五、提示信息添加代码36 六、编写管理信息代码37 七、今日提醒代码编写39 八、编写部门管理代码41 九、员工管理代码编写45 十、使菜单和工具栏与表单关联45 十一、任务46 实验七设计报表46 一、为报表准备数据46 二、设计报表47 三、操作注意51 四、运行表单51 五、任务51 实验八编译发布52 一、软件的编译52 二、制作安装盘52 三、任务56 实验九分析及优化56 实验一 软件分析 请从网站下载示例程序,分析软件的功能并列出,并从中抽象出实体,画出软件的E—R图并进行数据库逻辑设计,画出数据库逻辑设计表格.参考如下: 一、 功能说明 1) 系统登录控制:要求填写用户名及密码,并进行了3次连续错误后系统退出功能. 2) 部门编码设置:主要是用来设置部门的层级关系. 3) 部门信息设置:部分的基本信息,如地址、电话等。 4) 员工信息管理:管理企业内部员工的信息,还可以设置生日提醒. 5) 提醒设置功能:可以通过设置信息及接收用户及时间,当被设置的用户登录时显示给用户。 6) 今日提醒功能:根据提醒设置,显示相应信息。 7) 系统设置:修改使用软件的单位信息. 8) 密码修改功能:修改用户的密码。 二、 E—R图 首先是进行实体的抽象,通过系统登录功能及用户密码修改功能,我们可以抽象出“用户”实体,通过部门编码及部门信息管理功能,可以抽象出“部门”实体,通过员工信息管理可得到“员工”实体,通过提醒功能及今日提醒功能可以抽象出“提醒"实体,最后就是系统基本信息,可以得到“系统”实体。 部门信息 员工信息 提醒信息 包含 提醒 1 n n 1 实体之间关系有E—R图 提醒信息 编码 员工编号 提醒类别 提醒内容 提醒日期 提醒实体 用户信息 用户名 密码 姓名 用户信息实体的E-R图 部门信息 编号 上层编号 单位名称 单位地址 。。。 部门信息实体的E—R图 员工信息 编号 姓名 生日 电话 。。。 员工信息实体的E—R图 系统信息 企业名称 显示提醒 系统信息实体的E-R图 三、 逻辑表格 通过上面的E—R图,我们已经确立了实体,现在我们要进一步把实体及属性更完善,进行数据库的逻辑设计 提醒信息 字段名 字段类型 宽度 可否为空 默认值 说明 Warnid 自动编号 4 主索引 emplyid 整型 4 否 0 普通索引 当为0时代表发给所有用户 Wtype 整型 4 不同的数值代表不同类型 showdate 日期型 8 显示日期 msg 字符型 200 显示的信息 用户信息 字段名 字段类型 宽度 可否为空 默认值 说明 uname 字符型 20 否 主索引,用户名 upwd 字符型 20 否 0 密码 truename 字符型 8 真实姓名 部门信息 字段名 字段类型 宽度 可否为空 默认值 说明 ID 自动 4 主索引,编号 TopID 整型 4 上层编号 DPName 字符 50 单位名称 DPAddr 字符 100 单位地址 DPPhone 字符 30 单位电话 DPPerson 字符 8 单位联系人 员工信息 字段名 字段类型 宽度 可否为空 默认值 说明 ID 自动 4 编号,主索引 uname 字符 8 姓名 usex 字符 2 性别 birthday 日期 8 生日 DPID 整型 4 所属部门 ISMsg 逻辑 1 是否生日提醒 上面的字符可以进行相应的增加或删减,关键在于想实现的功能. 四、 任务 仔细分析软件本身,并可以进行相应改进,完成软件分析任务。 把个人设计的软件也进行上述的过程,完成数据库概念设计及逻辑设计。 实验二 创建项目及数据库 一、 创建项目 1) 在硬盘的相应目录下建立自己的项目文件夹,并在文件夹下建立data和doc两个文件夹分别用来存放数据文件及开发文档。 2) 打开VFP8。0,建立项目文件,命名为EPUser(可任意,为了后面方便表达). 二、 创建数据库 在项目管理器中新建一个数据库EPData,并保存在Data文件夹中。 三、 创建表并设定索引 1) 在EPData数据库下创建新表warning。表设计器如下: 2) 在warnid上建立主索引,在emplyid上建立普通索引。 3) 依照上边的方法建立其他数据表.最终如下: 四、 建立表之间的关系 1) 选中Epdata数据库,单击修改打开数据库设计器 2) 把主表的主索引拖至从表的普通索引上建立关系 五、 任务 a) 完成企业员工管理软件的项目创建及数据库、数据库表的创建,并建立相应关系。 b) 完成自主设计的软件的数据库、数据库表的创建工作。 实验三 数据可视化操作 一、 添加记录 a) 打开实验二创建的项目,并打开epdata数据库的设计器。 b) 双击Depart和employ表之间的关系线,打开关系设定窗口。 c) 选择“referential integrity”选项,并选择插入规则,选择级连项,实现两表之间的“相对完整性”,确定退出窗体。 d) 在项目管理器中选择depart表,并选择“浏览”,打开浏览窗口,在“显示”菜单中选择“追加模式”,在表中添加两条数据,如下图,在这里我们可以看到“聊城大学”这个部门的topid为0而“教育传播技术学院"的topid为“聊城大学”的id,通过这种方式实现部门间的级别管理,这种方式在开发中经常使用。 e) 关闭depart表,再打开employ表,使用上述方式添加数据,当我们在Dpid中添加了一个depart表中未出现的ID值时,会出现如下错误,而输入的值为正确的,则会被确认,从这里我们可以看到完整性检查的作用。 f) 建立一个与employ结构相同的表employ1,在表中添加一些数据。 g) 在打开employ表,选择“表”菜单中的追加记录,如下图,点击来源后面的浏览按钮,找到employ1表,并设置选项,选中除自动编号以外的所有字段,确定后,查看employ表中是否添加了employ1中的数据。 二、 修改记录 打开一个添加了数据的表格,然后使用“显示”菜单中的“编辑"实现对数据的修改,不再演示,大家也可以设置表之间的关系,看一下更新规则的作用。 三、 删除记录 a) 打开一个有数据的表格,点击记录左侧的小矩形,这样记录便被逻辑删除 b) 进行物理删除,打开“表”菜单,选择彻底删除,便可以实现“物理删除" 四、 任务 在我们建立的表中添加适量数据,以方便后续操作. 实验四 使用命令操作数据库 一、 数据库及表操作 1) 创建数据库:Create DataBase stumanage 2) 创建表:Create table classes(cid I AutoInc primarykey,classname c(20)) Create Table student(stuid c(10) primary key,stuname c(10),sex c(2) check sex='男’ or sex=’女’ error “此数据只能为男或女” default ‘男’,classid I,foreign key classid tag classid references classes) 3) 修改表结构:ALTER TABLE classes add teacher c(6)ALTER TABLE classes alter teacher c(8)ALTER TABLE classes rename teacher to managerALTER TABLE classes drop manager 4) 在当前工作期中打开要使用的表:USE classes或select classes 5) 插入数据:insert into classes(classname)values(‘2004级1班')insert into classes(classname)values(‘2004级2班’)insert into classes(classname)values(‘2004级3班') 6) 浏览数据:browse或display或list,会发现使用display时只显示第一条记录,这时需要使用范围语句 display all,大家可以使用条件语句看一下结果。 7) 查看当前记录各信息:? recno() &&显示当前记录号? Bof() &&查看记录指针是否在最前?Eof() &&查看记录指针是否在最后skip —1 &&使记录指针向前滚动一条? recno() ?Bof() ?Eof() goto top &&使记录指针移到顶端 ? recno() ?Bof() ?Eof() 8) 条件定位:locate for cid=2? recno() 9) 在学生表中插入数据:INSERT into student(stuid,stuname,sex,classid)values('20040101’,'zhang’,’男’,1)INSERT into student(stuid,stuname,sex,classid)values(’20040102',’wang',’女’,2) 10) 修改学生数据:update student set classid=3 where stuid=’20040101’ 11) 删除学生记录: DELETE FROM student where stuid='20040101'LIST 12) 恢复被逻辑删除的记录:RECALL all 13) 再执行上面的删除命令后使用Pack命令,把记录从磁盘彻底删除。 14) 执行查询: a) select * from student b) select stuid,stuname from student c) 向学生表中多插入几条记录 d) select distinct sex from student e) select sex as 性别 from student f) select * from student where stuid=’20040101’ g) select * from student where stuid in(‘20040101’,'20040102') h) SELECT * from student where stuname like ’w%' i) SELECT * from student where stuname like 'w_' j) SELECT * from student where stuname like '__a%’ k) select count(*) as 学生总数 from student l) SELECT A.*,B。classname from student A,classes B where A。classid=B。cid m) SELECT A。*,B。classname from student A inner join classes B on A。classid=B。cid n) SELECT A。*,B.classname from student A right outer join classes B on A。classid=B。cid o) SELECT * from student order by stuid desc p) SELECT top 1 * from student order by stuid desc q) Select count(*) as stucount,classid from student group by classid r) Select * from student into cursor test 15) 删除表:drop table studentdrop table classes 16) 删除数据库: CLOSE ALLDELETE DATABASE stumanage 二、 任务 使用上面的命令在员工管理数据库表的添加一些记录 实验五 表单设计 一、 表单分析 根据实验一中的项目功能分析,我们需要创建以下几个表单。 1) 部分信息管理表单:实现对部分信息的添加、修改、删除等管理 2) 员工信息管理表单:实现对员工信息的添加、修改、删除等管理 3) 管理员管理表单:实现对管理员的添加、删除等管理 4) 当前用户密码修改表单:修改当前用户的密码和真实姓名 5) 信息提示表单:当启动软件时显示提示信息 6) 提示信息设置表单:设置提示信息 7) 登录表单 8) 系统设置表单 9) 关于表单 二、 使用向导创建表单 1) 打开员工管理项目,这里需要注意的是,VFP软件有可能对中文目录支持不太好,如果出现类似问题,请把项目放在一个英文目录中。 2) 在项目管理器中选择文档(documents),选择表单,并新建. 3) 选择使用向导,这里有两项,一项是表单向导,另一个是一对多表单向导,可以看出我们也可以使用向导产生基于两个表的表单。 4) 选择使用到的表字段,这里实现管理员管理的表单,所以选择Manager表中的所有字段. 5) 选择表单样式,使用默认即可。 6) 选择排序字段,这里也可以不选择。 7) 最后一步,设置表单标题并设置保存,在项目文件夹下建立forms文件夹,并把表单保存在内。 8) 最终效果如下: 9) 在我们的创建的数据库中,部门表与员工表之间存在一对多关系,使用向导自己建立一个一对多的表单。 三、 使用表单设计器修改表单 使用向导生成的表单有时不能满足我们的需要,这时,我们需要使用表单设计器来完善表单的设计。下面我们来修改一下上面的表单。 1) 选择我们刚才创建的表单,进行修改 2) 下面是表单设计器,同时会打开表单控件面板和属性面板 3) 选择表格控件,并在表单中单击,把控件添加到表单中。 4) 使用表格生成器来使表格与数据表之间绑定. 5) 选择显示的字段. 6) 设置显示样式 7) 修改表格字段显示的标题。 8) 点击OK完成修改,关闭设计器并保存修改,使用项目管理器运行表单查看最终效果。 9) 对于由向导生成的控件,可以通过属性面板进行修改,如改变标题显示(caption)。 10) 通过上述方式,多加测试,掌握表单设计的基本方法。 四、 完成其他表单 1) 部门信息管理:这里要用到一个Activex控件,方法是,打开“工具"菜单,选项中选择控件面板,找到如下图的控件: 后从控件面板中选择如下: 就可以看到我们选择的组件,拖放到表单中就可以了。 2) 员工信息管理 3) 登录表单 4) 管理员管理表单 5) 用户密码修改表单 6) 提示信息管理表单 7) 提示信息添加表单,这里用了一个时间控件,如TreeView控件一样,自行添加进来即可。 8) 提示信息显示表单 实验六 编写代码 本实验分三次完成,主要实现程序的所有代码,了解程序开发过程及代码开发技巧. 一、 创建系统主程序 主程序是所编写程序的入口,主要设置运行环境、定义变量、常量,然后调用其他表单,本程序文件保存为main。prg。 CLEAR CLEAR ALL *把系统菜单隐藏掉 SET SYSMENU off *程序运行时不允许使用ESC键退出 SET ESCAPE OFF *关闭命令显示 SET TALK OFF *覆盖时不要确认 SET SAFETY OFF *设置时间格式,使用四位显示年代 SET CENTURY on SET DATE YMD *定义一个公共变量,保存当前用户信息 PUBLIC curuser *调用登录表单 DO FORM forms\login *进入事务处理,当执行clean events时结束 READ events *当结束循环时执行退出 quit 二、 编写登录表单的代码 打开实验五中已经制作的Login表单,修改控件相应属性. 控件 属性 值 组合框 Name uname Rowsource manager。uname Rowsourcetype 6-fields Style 2-dropdown list 文本框 Name Upwd Passwordchar * 表单 Autocenter True Borderstyle 2-固定对话框 Closble F Caption 用户登录 controlbox F MaxButton F MinButton F Name Frmlogin Showwindow 作为顶层表单 Windowtyp 模式 选中表单,从属性面板中找到init事件,添加如下代码: *定义一个公共变量来保存登录次数 PUBLIC logincount logincount=0 双击登录按钮,打开按钮的click事件: IF ALLTRIM(thisform。uname。Value)==”" then MESSAGEBOX(”没有选择用户名!!") ELSE LOCATE FOR uname=ALLTRIM(thisform.uname.value) IF ALLTRIM(thisform.upwd.Value)=ALLTRIM(upwd) then curuser=thisform.uname。value thisform.Release DO FORM forms\main return ELSE logincount=logincount+1 IF logincount〈3 then thisform。upwd。Value="” thisform。upwd。SetFocus MESSAGEBOX(”您的密码输入错误,请重新输入!!”,16,”错误") ELSE MESSAGEBOX("对不起,错误次数已达3次,不能进入系统!!",16,”报歉”) thisform.Release CLEAR EVENTS CLOSE ALL quit endif endif ENDIF 为退出添加click事件: thisform。Release CLEAR EVENTS quit 三、 编写主表单程序代码 主表单主要是起到调用其他表单的作用,在这里我们添加一个菜单和一个工具栏,从而了解如何创建表单与工具栏,以及如何在程序中使用它们。 创建主表单,保存为main,设置属性如下: 控件 属性 值 表单 Autocenter True Caption 企业员工管理系统 Height 600 Width 600 MDIform T Name Frmmain Showwindow 作为顶层表单 Windowtyp 模式 创建菜单,在项目管理器中选择“其他"选项卡,选中菜单,新建: 选择Menu,先制作如图的菜单 然后选择菜单“显示-〉常规选项” 选中“顶层表单”,设计表单时要注意的问题是,需要生成,而且每一次改动后都需要生成,否则使用的菜单是未生成前的菜单。 “菜单-〉生成菜单”: 好了,下面我们把菜单加入到主表单中去. 打开主表单,添加“init”事件: DO menu\main.mpr WITH this *这里的菜单地址,请根据自己的保存位置确定。这里保存到menu文件件下了。 可以运行主表单看一下效果了。 下面制作工具栏,选择“类”选项卡,新建类: 从ToolBar类继承制作自己的工具栏,添加按钮,图片资源可以从FTP得到。 设置Showwindow属性值为“在顶层表单中”. 因为工具栏是与表单一级的对象,所以表单中不能容纳工具栏,所以需要建立一个表单集来放置表单与工具栏,打开主表单,使用“表单”菜单中的“新建表单集”建立表单集对象,这时我们使用代码的方式把工具栏加入到主表单中去,设置表单集的init事件。 PUBLIC isCreateToolbar isCreateToolbar=0 再在Activate事件中添加如下代码: IF isCreateToolbar=0 isCreateToolbar=1 *加载类 SET CLASSLIB TO lib\myclass *使用类创建对象 this。AddObject(”tool1",”mytoolbar”) this.tool1.show *把工具栏停放在表单的上部 this.tool1。dock(0) endif 这时运行主表单,效果如下: 四、 编写管理员管理代码 控件 属性 值 表格 Name gmanager Enabled False Recordsource Manager 表单 BufferMode 1 Caption 操作员管理 Name frmmanager Showwindow 在顶层表单中 打开表单的数据环境,选择manager表。设置其属性. buffermodeOveride:2,Exlusive:True 添加按钮的click事件: thisform。gManager。Enabled= 。T。 APPEND BLANK GO bottom thisform.gManager。coLUMN1。text1。SetFocus thisform。Refresh 修改按钮的click事件: thisform。gManager。Enabled=。t. 保存按钮的click事件: YN=MESSAGEBOX("确定保存",4+32,"企业员工管理系统") IF YN=6 then IF TABLEUPDATE(。f。)=.f. then MESSAGEBOX(”保存出错”) ELSE thisform。Refresh ENDIF ENDIF thisform。gmanager。Enabled=。f. 取消按钮的click事件: IF MESSAGEBOX(”确认取消",4+32,"企业员工管理系统”)==6 then TABLEREVERT(。f.) ENDIF thisform.gmanager。Enabled=。f。 thisform。Refresh 删除按钮的click事件: IF MESSAGEBOX(”确定删除”,32+4,”企业员工管理系统”)==6 then SELECT manager DELETE thisform。gmanager。RecordSource=null PACK thisform.gmanager。RecordSource="manager” IF EOF() SKIP —1 ELSE IF BOF() SKIP ENDIF ENDIF thisform。Refresh endif 五、 提示信息添加代码 控件 属性 值 Date and timer picker Name msgdate 文本域 name msgcontent 保存按钮click事件: SET DATE YMD SET CENTURY on mdate=TTOD(thisform。msgdate。_value) mcontent=ALLTRIM(thisform.msgcontent.Value) IF EMPTY(mdate) 。and。 EMPTY(mcontent) then MESSAGEBOX("时间和内容都不能为空") return ENDIF IF MESSAGEBOX(”确定保存",4+32,"企业员工管理系统”)=6 INSERT INTO warning(emplyid,wtype,showdate,msg)values(0,0,mdate,mcontent) MESSAGEBOX(”提示信息已经添加到数据库中",64,"企业员工管理系统”) thisform。Release endif 取消按钮click事件: thisform。Release 六、 编写管理信息代码 此窗体的代码与管理员管理代码类似,所以可以很容易实现。 控件 属性 值 表格 Name gmsg Enabled False Recordsource Manager MousePointer 1—Arrow 表单 BufferMode 1 Caption 操作员管理 Name Frmmsg Showwindow 在顶层表单中 打开表单的数据环境,选择waring表。设置其属性。 buffermodeOveride:2,Exlusive:True 添加按钮onclick事件: DO FORM forms/setmsg Thisform。refresh 修改按钮的onclick事件: IF MESSAGEBOX("确定保存修改信息”,4+32,”企业员工管理系统”)=6 then IF TABLEUPDATE(.f.)=。f。 then MESSAGEBOX(”保存出错,请检查”) ELSE thisform。Refresh ENDif ENDIF thisform.gmsg。Enabled=。f. 取消按钮的onclick事件: IF MESSAGEBOX("确认取消",4+32,"企业员工管理系统")==6 then TABLEREVERT(.f。) ENDIF thisform。gmanager。Enabled=.f. thisform.Refresh 删除按钮的click事件: IF MESSAGEBOX("确定删除”,32+4,”企业员工管理系统")==6 then SELECT waring DELETE thisform。gmanager。RecordSource=null PACK thisform.gmanager.RecordSource=”waring” IF EOF() SKIP -1 ELSE IF BOF() SKIP ENDIF ENDIF thisform。Refresh endif 七、 今日提醒代码编写 控件 属性 值 文本框 Name msg readonly true 多选框 Name isstart 表单 BufferMode 1 Caption 今日提醒 Name Frmtoday Showwindow 在顶层表单中 Windowtype 1—模式 标签 Name lmsg 表单init事件: PUBLIC i,inum i=0 inum=0 SELECT warning COUNT FOR showdate=DATE() to inum IF inum<1 then thisform。msg。Value="没有本日提醒” thisform。lmsg.caption=”没有提醒" ELSE SELECT warning SET FILTER TO showdate=DATE() go top i=1 thisform。msg。ControlSource=”warning.msg” thisform。lmsg。caption="共有”+ALLTRIM(STR(inum))+”条提醒,第”+ALLTRIM(STR(i))+”条提醒" thisform。Refresh endif 下一条按钮单击事件: SELECT warning IF .not. EOF() SKIP i=i+1 thisform。lmsg。Caption=”共有”+ALLTRIM(STR(inum))+"条提醒,第"+ALLTRIM(STR(i))+”条提醒” ENDIF thisform。Refresh 确定按钮onclick事件: IF thisform。isstart。Value=1 UPDATE sys SET isstart=。f. ENDIF thisform。release 八、 编写部门管理代码 部门管理表单使用了一个ActiveX控件,如果想非常细致的了解此控件的使用方法,请参考FTP上给出的资料。 控件 属性 值 树型 Name departTree Style 7 名称文本框 Name Ename controlSource dpname 地址文本框 Name Eaddr controlSource dpaddr 电话文本框 Name Ephone controlSource dpphone 联系人文本框 Name Eperson controlSource Dpperson 表单 BufferMode 1 Caption 部门信息管理 Name Frmdepart Showwindow 在顶层表单中 Windowtype 1-模式 同样要设置表单对应的depart表格的属性:buffermodeOveride:2,Exlusive:True 首先我们给表单添加init事件: PUBLIC isedit 定义一个变量来标识当前操作是添加还是修改 PUBLIC dpid 保存当前部门编码 SELECT depart GO top thisform。ename。Value=dpname thisform。eaddr.Value=dpaddr thisform。ephone.Value=dpphone thisform.eperson。Value=dpperson thisform.eaddr。Enabled=。f. thisform。ename。Enabled=。f。 thisform。eperson。Enabled=.f. thisform.ephone。Enabled=.f. thisform。Refresh 给树形控件添加init事件 this。Nodes.Clear SCAN IF topid == 0 Node = this.nodes。add(,1,”D"+ALLTRIM(STR(id)),ALLTRIM(dpname),,) *加入根节点 ELSE Node =this。nodes。add(”D”+ALLTRIM(STR(topid)),4,”D”+ALLTRIM(STR(id)),ALLTRIM(dpname),,) ENDIF ENDSCAN 树形控件的onclick事件: SELECT depart LOCATE FOR id=VAL(SUBSTR(this。selectedItem。Key,2)) dpid=id thisform.ename.Value=dpname thisform.eaddr。Value=dpaddr thisform.ephone。Value=dpphone thisform.eperson.Value=dpperson 添加按钮onclick事件: thisform.ename。Value=”” thisform。eaddr。Value="" thisform。ephone。Value=”” thisform。eperson。Value=”” thisform.eaddr。Enabled=。t. thisform.ename。Enabled=。t。 thisform。eperson.Enabled=.t。 thisform。ephone。Enabled=。t. isedit=”add" thisform.Refresh 删除按钮onclick事件: IF MESSAGEBOX(”确认要删除所选部门信息",4+32,"企业员工管理系统")==6 then DELETE FROM depart WHERE id=dpid PACK thisform。departtree。Init thisform。Refresh ENDif 修改按钮onclick事件: thisform。eaddr.Enabled=。t。 thisform.ename。Enabled=。t. thisform.eperson。Enabled=。t. thisform.ephone.Enabled=.t。 isedit="mod” 取消按钮onclick事件: thisform。ename。Value=dpname thisform.eaddr.Value=dpaddr thisform.ephone。Value=dpphone thisform。eperson。Value=dpperson thisform。eaddr。Enabled=。f. thisform。ename.Enabled=.f。 thisform。eperson.Enabled=。f。 thisform.ephone。Enabled=。f。 保存按钮onclick事件: IF MESSAGEBOX(”确认要保存修改后的信息吗?”,4+32,"企业员工管理系统")==6 then IF isedit=”mod” then ename=ALLTRIM(thisform。ename.value) eaddr=ALLTRIM(thisform.eaddr。value) ephone=ALLTRIM(thisform.ephone.value) eperson=ALLTRIM(thisform。eperson.value) UPDATE depart SET dpname=ename,dpaddr=eaddr,dpph
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服