NET课程设计实验报告.doc_第1页
NET课程设计实验报告.doc_第2页
NET课程设计实验报告.doc_第3页
NET课程设计实验报告.doc_第4页
NET课程设计实验报告.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.NET课程设计报告 学 院: 计算机与信息工程学院 专 业: 电子商务 班 级: 2009级3班 姓 名: 胡巍 2012年12月07日.NET课程设计实验报告 医院门诊处理系统1. 引言11编写目的科技进步将人类带到了信息时代,计算机已成为各行各业在业务处理与管理工作中必不可少的辅助工具,并对各行业的发展起到越来越大的推动作用。计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、即时的信息以帮助作出正确而及时的选择与决定,从而给采用这门技术的单位带来了巨大的可见或不可见的利益与效益。 随着信息时代来临,信息处理的利器计算机应用于医院的日常管理为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的飞速发展提供了无限潜力。采用计算机管理信息系统已成为医院管理科学化和现代化的重要标志,给医院带来了明显的经济效益和社会效益。为了加快医院系统的信息化步伐,提高医院的业务水平,建设和完善医院信息系已变得十分必要。系统的建设将本着“以患者为中心”的原则,以方便患者、提高就诊效率为目的,力争为患者提供最满意的服务,同时也将提高医院的社会效益和经济效益。与市场经济的接轨的过程中,每个医院都面临着强化内部管理、树立医院形象、上层次晋等级、进而提高社会效益和经济效益的艰巨任务。在医院管理过程中应用计算机系统,可随时进行经济核算,展开成本效益分析,使医院经营决策科学化;借据计算机数据处理严密可靠的特有机制,在改善医院人、财、物管理,降低医管人员工作强度,提高医疗工作质量,杜绝人情方、搭车药、减轻病员负担,创造医院良好信誉等诸多方面,益康医院管理信息系统都将成为您不可或缺的助手和工具。 1.2项目背景项目名称初步定为:医院门诊管理系统。分为三个子功能模块:门诊划价模块、门诊收费模块和门诊发药模块。2任务概述21目标 本门诊处理系统软件提供一个集门诊划价、收费、发药于一体的管理信息系统,可实现信息存储、更新、查询等多项功能,为广大医务工作人员及病人提供方便。22运行环境 硬件环境:PII或更高档微机、笔记本电脑; 运行时内存需要:1MB; 安装所需硬盘:5MB;打印机:可选。软件环境:中文Windows98/2000/Me;英文Windows98/2000/Me。23条件或限制本系统更为理想的选择是与其他管理系统集成起来,组成医院管理系统。在功能方面可以考虑由多用户分别进行管理,系统也可为级别不同的用户设置不同的权限,同时应进一步提高系统的安全保密性。3.需求分析 门诊管理系统的主要包含:门诊划价系统、门诊收费系统、门诊发药系统 31功能需求分析311门诊划价系统功能需求分析录入处方及检查治疗单、核算病人的费用,提供门诊划价窗口业务。门诊划价发药可作到排队“四条龙”合一:西药划价、中药划价、门诊收费等四条龙。实现“以病人为中心”的目标。可以根据医院规模和管理模式选用。各类划价支持多种录入方式:医院自编数字码方式、拼音缩写码方式、五笔码方式、拉丁方式、并充分满足了窗口业务的快速响应要求。提供与门诊收费相关的各类报表。提供与财务科的业务数据通讯能力。提供与门诊药房的通讯能力。向经济核算部门提供门诊科室人员的部分核算数据。 功能简介:1.挂号子模块 根据医院的实际情况,病人挂号分持卡和自费两种方式,持卡的病人挂号时可由他本人或操作员在卡阅读器上扫一下,系统自动显示出该人的基本信息,然后操作员确认后给他一张挂号纸,挂号费由系统自动扣除。自费就由操作员输入该病人的有关资料,系统给出门诊号,当场收挂号费并给挂号纸。因此,挂号子模块就要分两种方式进行处理,具体的实践功能如下:(1).条形码或磁卡阅读器扫一下医疗卡上的标识码,自动在病人看病日记文件标上已挂号、标记。挂号费由系统在计价收费时自动扣除挂号费。(2.对外校病人,登记姓名、性别、电话号码、地址等有关资料并收取挂号费,由系统给出门诊号。提供增加、修改、删除、查询等功能。但只限制修改、删除当天增加的外校人员,本校人员的资料不准修改和删除,只能查询。3.查询挂号资料。可按医疗卡号、姓名。4.统计挂号有关资料(已挂号人数,总挂号费、已计价人次、没计价人次)。5.检查挂了号,没有计价的人员,由系统自动扣挂号费并把该人员显示或打印出来。内 容:医疗卡号、姓名等。(是否需要加倍扣除挂号费)2.计价收费子模块 计价收费子模块把计价和收费合并在一起,简化工作流程。计价收费可分为中药计价、西药计价和自费计价等三种方式,这三种方式可分为代扣或现金来处理。在计价时又可分为马上打印发票、不打印发票和手工开发票等形式。因此,系统根据以上情况,把计价收费子模块的功能安排如下:1. 代扣款:中、西药处方计价收费,登记医生处方上的所有资料。录入处方上的药品代号和用量就要显示出药品名称、单价、规格、单位和金额。按一规定键系统自动打印出收费收椐,由系统自动按该人员应交款的百分比来扣除应交的金额。2. 现金:中、西药处方计价收费,登记医生处方上的所有资料。录入处方上的药品代号和用量就要显示出药品名称、单价、规格、单位和金额。按一规定键系统自动打印出收费收椐或不打收费收据由操作员手工开发票并收现金。3. 检查项目收费。对一些要收费的检查项目,要提供一个平台来录入有关的收费资料。如手术费、治疗费等资料。同样要在屏幕上显示出总金额并按一规定键系统自动打印出收费收椐或不打收费发票等检查完后统一在处方计价时才一起打印。对代扣款人由系统自动扣除检查费。4. 日结,每天对各药品的库存进行日结,减少药房药品库相对应药品的库存量。5. 修改或删除计价收费资料,对当天计价收费有错并已打印收据的,要对其进行更正,但只能修改或删除当天的计价的资料并且是属于他本人经手的,才能修改或删除。6. 查询。 .可按医疗卡号、日期、姓名、药品代号等查询计价收费情况。7. 统计。.可按医疗卡号、日期、姓名等打印处方样细情况。 内容有:日期、姓名或医疗卡号、诊断医生、药品、单位、单价、数量、金额。.可按医疗卡号、日期、姓名等统计病人计价收费情况。 内容有:日期、姓名、医疗卡号、药费种类、总药费、个人负担数。 .按日期段统计和打印个人或全部计价员情况表。 内容有:日期、姓名、处方张数、笔数、总金额、现金数、代扣金额数。 .按日期段统计和打印各科室计价收费情况表。 内容有:日期、科室名称、处方张数、笔数、总金额、现金数、代扣金额数。 .按日期段统计和打印各检查项目收费情况表。 内容有:日期、检查项目、检查次数、总金额、现金数、代扣金额数。3.医疗卡管理子系统模块医疗卡管理子系统模块主要是对医疗卡的资料进行维护,其内容有发卡和出售固定价的医疗卡,追加金额(如学生的医疗卡、统筹医疗卡)。1 制作新的医疗卡。(当系统首次使用、增加教职工、统筹和学生时)2 追加金额(如学生的医疗卡、统筹医疗卡)。3 挂失。(当医疗卡遗失时)重新补发。4 制由财务处代扣款软盘(对欠款的人员在一定的时间内没有追加金额的人员)。5 查询.以医疗卡号查询个人代扣计价收费明细帐。.以姓名查询个人代扣计价收费明细帐。.以日期查询每个人代扣计价收费明细帐。.以日期查询总代扣金额。 .可按医疗卡号、姓名查询所剩余的金额。.查询所有欠款人员名单。6 统计.以医疗卡号打印个人代扣计价收费明细帐。 内容有:日期、姓名、科目、挂号费、药费、检查费、其它费、总金额、个人负担数。.以姓名打印个人代扣计价收费明细帐。 内容有:日期、科目、挂号费、药费、检查费、其它费、总金额、个人负担 数。.以日期打印每个人代扣计价收费一览表。 内容有:日期、姓名、挂号费、中药费、西药费、检查费、其它费、总金额、个人负担数。.以日期打印总代扣金额。 内容有:日期、科室、挂号费、药费、检查费、其它费、总金额。.打印所有欠款人员名单。 内容有:姓名、部门、总欠款数。4.其它管理子系统模块 其它管理管理主要是维护门诊所需的各种代码(收费类型、门诊科目、医生所属科室、人员基本资料等)、数据备份、统计(如根据药方的张数统计各科医生的工作量等)、复制由财务处代扣软盘。维护门诊科目代码。增加、修改、删除、查询和打印。维护医生所属科室。增加、修改、删除、查询和打印。维护检查项目资料。增加、修改、删除、查询和打印。(该功能是否在系统管理系统中处理,因为该资料在门诊和住院系统都要使用的)。调整检查项目的价格。(该功能是否在系统管理系统中处理)。复制由财务处代扣软盘。查询。可按医生代号、日期、药品代号、医疗卡号和操作员代号查询有关资料。统计。 .按日期段统计单位应负担的医药费和个人应负担的医药费。 .按日期段统计各科室看病情况。 内容有:日期、科室、处方张数、药品总数、总金额。 .按日期段统计和打印个人或全部操作员工作量表。 内容有:日期、姓名、处方张数、笔数、总金额。 .按日期段统计和打印各科医生工作量表。 内容有:日期、姓名、处方张数、总金额。 .按日期段统计和打印挂号和计价收费汇总表。 内容有:日期、挂号人次、总挂号费、计价处方张数、笔数、总金额。1. 门诊子系统需要用到的数据表举例如下 部门码表 department管理要求:只能使用不能修改。需要增加、删除或修改必须由系统管理员负责,其他人只是使用。部 门 表 用 于 定 义 各 个 部 门 的 部 门 号 及 名 称。 表 定 义 如 下: 字 段 名 称 字 段 描 述主 键 类 型长 度 说 明Department_no 部 门 代 号4 字 符 型3按学校统一编码非空Department_name 部 门 名 称 字 符 型20非空收费类型表 charge_type管理要求:只能使用不能修改。需要增加、删除或修改必须由系统管理员负责,其他人只是使用。 收 费 类 型 表 用 于 定 义 各 种 收 费 类 型 的 代 号 、名 称 及 收 费 标 准。 表 定 义 如 下: 字 段 名 称 字 段 描 述主 键 类 型长 度 说 明Charge_no 收费类型代号4 字 符 型2由医院编码01-99非空Charge_name 收费类型名称 字 符 型12非空312门诊收费系统功能需求分析 支持多种收费方式、收费标准、收费项目、付款比例适应医院对不同病人的服务要求,特别支持医疗保险病人。 提供与门诊药房的联网数据共享能力 提供与门诊收费相关的各类报表 提供门诊医疗统计、门诊科室及工作人员部分核算数据和工作量统计。 完成现金收费并打印发票等功能,满足以收费为核心的管理,完成收费日清月结,随时生成各类门诊收费报表及各种统计报表。 退费处理方法合理有效,结帐方法灵活安全。 网络环境下可多人操作,使用密码划分权限,防止非法操作。使用连续套打发票,各收费员都用自己的发票,发票上打印各操作员的的工作发票序号。 期初设置方便灵活,各单位可自己定义科室项目、费用项目、操作员姓名及代号。313门诊发药系统功能需求分析 采用整体统一的管理方式:门诊药房与门诊收费联网共享数据。 对药房同药库、药房同药房之间的物流进行双向管理 可以根据药品的限期及库存下限来来进行缺药、失效预告、对药品进行数量、金额双重控制,毒麻、贵重药品特别控制。 核对已收费处方无误后予以配药、发药处理。发药后减去门诊药房库存。 支持病人处方的退药处理,并增加门诊药房库存。 支持协定处方管理录入,能够自定义协定处方,加快划价/收费(员)录入速度。完善的库存管理:对购进药品从品种数量、价格等进行验收入库处理,根据临床需要和库存情况进行出库处理:除日常的出库外,还有调拨、报损、退药等多种形式出库。 严格药品有效期管理。 高度的自动处理功能:系统可根据有效期自动预告失效药品;对呆滞药品进行预告;对超限药品进行报警。 有丰富的报表功能:药品台帐、药品名细帐、药品月统计、药品出入库单、药品调价单、药品报废单等。 门诊药房系统中又分为门诊中药房和门诊西药房两子系统,两者主要功能相同。 针对性强,针对药房管理中的难点进行开发,做到了四个一,即药品名称统一、规格统一、编码统一、价格统一,将医院药品工作管理上升到新阶段。 模拟人工管理为主,操作员易于以惯常思维理解并掌握使用。各药房以药库为中心,请领药品、入库、调价。32需求概述(1) 浏览功能:可选定一项记录,显示该记录的所有域。(2) 修改功能:可任意修改字段,药品名称不能为空。(3) 添加功能:可任意添加一条或多条处方及相关内容。(4) 删除功能:可任意删除一条或多条处方及相关内容。(5) 报表生成:可根据提供的模板将划价结果收费单或选中的数据生成多种形式的报表。(6) 打印功能:将生成的报表或选中的记录进行打印输出。(7) 身份验证:进入系统时,对操作员的身份进行检查,只允许合法操作员登陆系统。33性能需求分析模快化设计,具有良好的可扩充性,以适应医院不同阶段的发展需要。方便的系统剪裁功能,各子系统间任意选择是否联网。信息共享、准确及时交流信息:发挥网络功能,减少重复操作,提高工作效率。彻底改变手工或单机管理对信息收集处理中的重复、混乱和容易出错的状况,充分利用计算机网络及关系型数据库的资源共享、数据共享等技术。一个环节录入信息,其它环节可以共享,确保数据的准确性和一致性。基本信息录入采用拼音输入方式,鼠标操作,基本不需输入汉字,大大提高工作效率。操作简单,维护方便:不需要记忆任何计算机命令,人机界面友好,操作非常简单。每个系统都具有系统维护功能,对可变化的项目可自行维护,不需改变程序。实时特色:24小时不间断的高度安全性和可靠性,数据传输准确快速,适应医院工作流程需要 查询功能强大:可以对每个系统的业务情况、统计报表,在任意时间内进行汇总、查询,同时对几种情况可以任意组合查询、统计,大大降低了统计人员的工作强度;院领导通过查询系统,可及时了解业务情况、财务情况。各种数据报表皆可打印。将院里的事后统计变为实时跟踪,静态管理变为动态管理,提高了管理水平运行环境。34性能概述 341数据精确度查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到,查到的记录应与给定的单项或组合查询条件完全匹配。342时间特性一般操作的响应时间应为1s-2s内,打印机的操作及数据的导入和导出应在可接受的时间内完成。343适应性满足操作员的使用要求和前面提到的运行环境4总体设计4.1处理流程系统启动时,激活身份验证模块;经过身份验证后,对系统初始化。根据系统配置文件将数据库导入,并设置各全局变量;系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块;各项功能执行完毕后重新进入消息循环系统状态;由关闭系统事件激活关闭系统模块,退出系统。 42总体结构 系统功能模块图收费发药修改划价单划价药库药房收费划价挂号系统维护 医师护士人员管 理 门诊系统住院系统财务处理医院管理系统 43模块外部设计 序号模块名称备注序号模块名称备注1初始化模块系统初始化2关闭系统模块关闭并退出系统3系统功能模块4浏览模块5增加模块添加处方6删除模块删除处方7报表生成模块生成报表8打印模块打印划价收费单9身份验证模块验证身份10查询模块44功能分配(1) 系统控制功能初始化模块;关闭系统模块;系统功能模块;(2) 浏览功能浏览模块;(3) 查看详细资料功能 查询模块; 基本资料模块;(4) 增加功能 增加模块; (5) 删除功能 删除模块; (6)报表生成功能报表生成模块;(7)打印功能 打印模块; (8)身份验证功能身份验证模块。 5程序设计说明5.1功能概述5.2性能概述5.3输入设计输入的方式简单、快捷,是医院信息管理系统的基本要求,特别是门诊划价、收费的输入方式直接影响医院的工作效率。此系统采用鼠标单击选择或直接输入的方式有许多优点。(1) 满足操作员不同的需求。(2) 无需记忆药品的价格。(3) 如发现输入处方错误可按“删除”键进行修改。 5.4输出设计输出方式按照实际需要设计,如门诊划价单、门诊收费单等。5.5软件结构551顶层数据流图院长会计处理系统门诊处理系统病人药库处理系统552二层数据流图院长药库处理系 统门诊划价系 统会计处理系 统 门诊发药系统门诊收费系统病人553三层数据流图 处方报表院长会计处理系统产生报表 会计报表产生门诊收费报表 处方清单 门诊报表 处方清单 药品清单 处方信息 药品清单 药品清单 接收信息 门诊收费清单接收核对信息 门诊收费清单 处方信息 产生划价表病人 处方信息 划价单 划价信息 生成收费单 划价单 收费单 收费单接收核对收费信 息 发药清单 收费 清 清单 收费 门诊药房清单 清单 药库处理系 统 发药信息 收费清单发药处 理 门诊药房清单 门诊药库售药报 表 售药报表 门诊药房售药信息 门诊药房售药信息 门诊药房售药信息5.6IPO图561门诊划价系统IPO图 输入 处理 输出 1 校验药品名并查找相关信息(价格、库存等)2 校验新药品名并查找相关信息3 多项药品单价相加求和药品价格等更改后的药品相关信息划价结果病人信息、处方代号、药品名称 新的药品名称562门诊收费系统IPO图 输入 处理 输出药品价格收费单1 查找相关药品信息(名称、价格等)2 计算应收款、找零并保存病人信息、处方代号交款信息 3 6。3诊发药系统IPO图输入 处理 输出出售药品数报表1 查找药品信息2 计算药品剩余数量处方代号5.7数据字典1.(1)数据结构:处方信息 含义说明:定义了病人病情及相关结果。 组 成:病人姓名、性别、日期、门诊号、处方号、病史、病况及处方。1. 数据项:日期 含义说明:病人就诊时间。 取值方法:病人挂号时系统的日期和时间。2. 数据项:门诊号含义说明:病人看病的类别及次序。取值方法:挂号时自动生成。3. 数据项:处方号取值范围:000001999999 取值方法:由电脑自动生成4. 数据项:病史 含义说明:病人曾经的得病记录5. 数据项:病况 含义说明:病人目前的得病情况6. 数据项:处方 含义说明:医生根据病人的得病情况做出的诊断 取值方法:由医生诊断获得的治疗方法及相关药品(2) 数据结构:划价单含义说明:药品价格合计组 成:项目名称、规格、数量、单价、库存数量、所属部门和合计金额。1. 数据项:项目名称含义说明:唯一标识药品的数据项,不能重名。2. 数据项:规格含义说明:该药品对应的型号和类别。3. 数据项:数量 含义说明:记录药品的多少。4. 数据项:单价 含义说明:该药品在计量单位下的价格。5. 数据项:库存数量 含义说明:描述该药品在药库中的多少。6. 数据项:所属部门 含义说明:该种药品所属类别。7. 数据项:合计金额含义说明:病人所需付的药品费用总和。取值方法:合计金额=单价1*数量1+单价2*数量2(3) 数据结构:收费单含义说明:病人付款凭证组 成:项目名称、规格、数量、单价、库存数量、所属部门、所付金额。1. 数据项:项目名称含义说明:唯一标识药品的数据项,不能重名。2. 数据项:规格含义说明:该药品对应的型号和类别。3. 数据项:数量 含义说明:记录药品的多少。4. 数据项:单价 含义说明:该药品在计量单位下的价格。5. 数据项:库存数量 含义说明:描述该药品在药库中的多少。6. 数据项:所属部门 含义说明:该种药品所属类别。7. 数据项:所付金额含义说明:病人所实付的药品费用总和。(4) 数据结构:门诊药房售药报表 含义说明:每隔一定时间送给药库管理系统的售药情况表。 组 成:药品编号、药品名称、规格、单价、售药数量/售药剂量A 数据项:药品编号含义说明:唯一标识该药品的关键域。取值方法:由药品条形码标识B 数据项:售药数量/售药剂量含义说明:某种药品一定时间内售出的数量或剂量。类 型:数字2.概念模型设计2.1概念模型设计的方法将需求分析得对的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念模型设计的基本方法,通常有四类:(1)自顶向下。即首先定义概念结构的框架,然后逐步细化。(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得对全局概念结构。(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生产其他概念结构,直至总体概念结构。(4)混合策略。即将自底向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它我骨架集成由自底向上地设计概念结构。2.2系统概念模型根据系统的需求分析,得出系统数据库的信息模型,用ER图表示出来。3.逻辑模型设计3.1逻辑模型设计的方法此处给出由概念模型转化为逻辑模型设计的基本方法,可参考教材。3.2逻辑模型实现医生(医生编号、科室代码、姓名、性别、年龄、职务、学历)护士(护士编号、科室代码、姓名、性别、年龄、职务、学历)病房(病房编号、科室代码、床位数、床位号、地址)服药(病人编号、药品编号、病人姓名、年龄、性别、血性、身高、药品名称、剂型、化学名称、规格)病人(病人编号、科室代码、病人姓名、年龄、性别、血性、身高)做手术(病人编号、医生编号、医生姓名,医生年龄、医生性别、科室代码、病人姓名、年龄、床位号、手术时间、麻醉时间记录)照顾(病人编号、护士编号、护士姓名、护士学历、病人年龄、床位号、科室代码)治疗(病人编号、医生编号、科室代码、病人姓名、病人年龄、病人性别、医生姓名、医生年龄、医生性别、医生学历)安排手术(主治医生编号、医生编号、床位号、手术间代码、手术时间、麻醉记录时间、科室代码、病人姓名、病人年龄、病人性别)6.程序设计说明 程序流程图窗体1操作修改数据库输入信息保存数据库实现功能(1)添加数据库记录点击添加 (2)查询数据库功能输入 (3)计算合计加法计算显示结果窗体2操作 输入索引 序 号实现功能(1)查找索引 显示显示窗体4是否存在 数据库内查找输入 (2)计算找零计算 显示结果窗体3操作实现功能:查找索引 输入 数据库内查找是否存在显示显示窗体4进入整个系统流程图输入身份及号码判断身份是否符合 退出 退出窗体3操作窗体2操作 打印窗体1操作选择系统进入主窗体 7.程序部分代码:1、 查询Private Sub Command1_Click()查询Dim rs_find As New ADODB.RecordsetDim CN As New ADODB.ConnectionDim sql As StringSet rs_find = New ADODB.RecordsetIf Check1.Value = vbChecked Thensql = 药品名称= & Trim(Text2.Text & ) & End IfIf Check2.Value = vbChecked ThenIf Trim(sql) = Thensql = 药品编码= & Trim(Text3.Text & ) & Elsesql = sql & and 药品名称= & Trim(Text2.Text & ) & End IfEnd IfIf Trim(sql) = ThenMsgBox 请选择查询方式!, vbOKOnly + vbExclamationExit SubEnd Ifsql = select*from NUM1 where & sqlrs_find.CursorLocation = adUseClientCN.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=(local)rs_find.Open sql, CN, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_findEnd Sub2、 添加Private Sub Command2_Click()添加Dim rs As New ADODB.RecordsetDim rs1 As New ADODB.RecordsetDim sql1 As StringDim CN As New ADODB.ConnectionDim sql As Stringtemp = Trim(Text2.Text)CN.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=(local)sql = select*from NUM1 where 药物名称= & temp & rs.Open sql, CN, 1, 1If rs.EOF True ThenMsgBox 该药物已经存在,请更换, 16 + 256, 错误Elsesql = select*from NUM1rs1.Open sql, CN, 3, 2rs1.AddNewrs1!药物名称 = temprs1!药物编码 = Trim(Text3.Text)rs1!药品价格 = Trim(Text4.Text)rs1!科室代码 = Trim(Text5.Text)rs1!收费类别 = Trim(Text6.Text)rs1!药品用法 = Trim(Text7.Text)rs1.UpdateMsgBox 成功添加一条记录, , 提示End IfEnd Sub3、 删除Private Sub Command3_Click()删除Dim rs As New ADODB.Recordset Dim varBmk As Variant Dim a As String Dim CN As New ADODB.Connection On Error GoTo delerror sql = select*from NUM1 CN.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=(local) rs.Open sql, CN, 3, 2 a = MsgBox(确定要删除吗?, vbYesNo, 医院管理信息系统) If a = vbYes Then DataGrid1.AllowDelete = True For Each varBmk In DataGrid1.SelBookmarks rs.Bookmark = varBmk rs.Delete rs.Update Next Adodc1.Refresh DataGrid1.Refresh MsgBox 成功删除!, vbOKOnly + vbExclamation, 医院管理信息系统 DataGrid1.AllowDelete = False Else Exit Sub End Ifdelerror: If Err.Number 0 Then MsgBox Err.Description End If End Sub4、 用户登录Private Sub cmdOK_Click()Dim sql As StringDim CN As New ADODB.ConnectionDim cnt As IntegerDim rs_login As New ADODB.Recordsetc = 1If Check1.Value = False Thenc = 0Unload MeForm1.ShowElseIf Trim(txtUserName.Text) = ThenMsgBox 没有这个用户, vbOKOnly + vbExclamation, txtUserName.SetFocusElse CN.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=(local)sql = select*from 系统管理 where 用户名= & txtUserName.Text & rs_login.Open sql, CN, adOpenKeyset, adLockPessimisticIf rs_login.EOF = True ThenMsgBox 没有这个用户, vbOKOnly + vbExclamation, txtUserName.SetFocusElseIf Trim(rs_login.Fields(1) = Trim(txtPassword.Text) ThenForm2.Showrs_login.CloseUnload Me5、 病人信息添加Private Sub Command1_Click()确定Dim rs1 As New ADODB.RecordsetDim CN As New ADODB.ConnectionDim sql As StringSet rs1 = New ADODB.RecordsetSet CN = New ADODB.ConnectionCN.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DemoDB;Data Source=(local)sql = select*from 病人信息rs1.Open sql, CN, 3, 2rs1.AddNewrs1!姓名 = Trim(Text1.Text)rs1!性别 = Trim(Text2.Text)rs1!民族 = Trim(Text3.Text)rs1!年龄 = Trim(Text4.Text)rs1!备注 = Trim(Text5.Text)rs1.UpdateMsgBox 成功添加一条记录, , 提示End Sub一、 数据库设计1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在ER 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。 主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。 3. 基本表的性质 基本表与中间表、临时表不同,因为它具有如下四个特性: (1) 原子性。基本表中的字段是不可再分解的。 (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。 (3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。 (4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。 理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。 4. 范式标准 基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。 6. 要善于识别与正确处理多对多的关系 若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。 6. 主键PK的取值方法 PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义的字段名或字段名的组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。 7表与表之间是通过主外键链接的可以通过数据库关系图进行链接将要连接的表选中,然后用鼠标拖动列例如 定义表Student、Course和SC之间的关系图。要求:先要定义好三个表的主键SNO、CNO、(SNO,CNO)(1) 展开数据库“学生管理”节点,在“数据库关系图”上击右键,选择“新建数据库关系图”命令,弹出新建数据库关系图向导,选择要添加到关系图中的表Student、Course和SC,这三个表将出现在新关系图窗口中。每个表显示包含的属性和定义的主键,拖动标题栏可以改变它们在窗口中的位置。(2) 将Student表的属性SNO拖动到SC表的SNO上,松开鼠标弹出“创建关系”窗口,设置后单击“确定”按钮。在Student表和SC表之间会自动出现一条连线,说明创建关系成功。同样的方法可以创建Course表和SC表之间的关系。(3) 单击关闭按钮保存。(4) 试着修改或删除Student、Course和SC表中的数据,看看定义关系后有何作用。8采用有意义的字段名有一回我参加开发过一个项目,其中有从其他程序员那里继承的程序,那个程序员喜欢用屏幕上显示数据指示用语命名字段,这也不赖,但不幸的是,她还喜欢用一些奇怪的命名法,其命名采用了匈牙利命名和控制序号的组合形式,比如 cbo1、txt2、txt2_b 等等。除非你在使用只面向你的缩写字段名的系统,否则请尽可能地把字段描述的清楚些。当然,也别做过头了,比如 Customer_Shipping_Address_Street_Line_1,虽然很富有说明性,但没人愿意键入这么长的名字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论