asp基于BS医药连锁店管理系统(源代码+论文)
收藏
资源目录
压缩包内文档预览:(预览前20页/共39页)
编号:438686
类型:共享资源
大小:4.09MB
格式:RAR
上传时间:2015-06-03
上传人:小***
认证信息
个人认证
林**(实名认证)
福建
IP属地:福建
20
积分
- 关 键 词:
-
asp
基于
bs
医药
连锁店
管理
系统
源代码
论文
- 资源描述:
-
asp基于BS医药连锁店管理系统(源代码+论文),asp,基于,bs,医药,连锁店,管理,系统,源代码,论文
- 内容简介:
-
医药连锁店管理系统配置说明 配置SQL-Server配置数据库的具体配置方法如下:(1)打开Windows“开始”菜单,选择“程序”“Microsoft SQL Server”“企业管理器”。如图1.1所示。图1.1 开始菜单(2)企业管理器运行界面如图1.2所示。图1.2 控制台根目录(3)单击以逐级展开“控制台根目录”,至到找到“数据库”项为止,如图1.3所示。图1.3 附加数据库(4)右单击“数据库”节点,在弹出的菜单中选择“所有任务/附加数据库”菜单项,打开“附加数据库”对话框。如图1.4所示。图1.4 “附加数据库”对话框(5)在“附加数据库”对话框中的“要附加数据库的MDF文件”文本框内输入数据库文件的完整路径,可以通过【】按钮完成,本例子的数据库文件位于manage文件夹下的databaseDB_lsmanage_Data.MDF,如图1.5所示。图1.5 选择数据库文件(6)选择正确的目录后,在列表中会出现找到日志文件的信息,效果如图1.6所示。图1.6 连接数据库文件(7)单击【确定】按钮,完成数据库的附加工作。2配置IIS通过“Internet服务管理器”可以发布、测试和维护自己的Web页和Web站点。配置IIS服务器的步骤如下:(1)IIS安装后,打开“开始”/“程序”/“管理工具”/“Internet服务管理器”命令,打开“Internet服务管理器”窗口,单击电脑图标前的“+”号,得到如图1.7所示的窗口。图1.7 “Internet服务管理器”窗口(2)在图1.7的“默认Web站点”上单击鼠标右键,在弹出的快捷菜单中选择“新建”/“站点”菜单项,在弹出窗口中选择【下一步】按钮,在新窗口中为站点命名为“医药连锁店管理系统”,再单击【下一步】按钮,为站点配置IP地址及端口,默认端口为80,为了防止与其他站点端口冲突,可以进行更改端口,设置完了,单击【下一步】按钮,在新窗口中,选择站点准确路径,选择后单击【下一步】按钮,进行权限设置,保持默认权限即可,单击【下一步】按钮,完成新站点的建立,检查新建站点是否出现在IIS服务器左侧列表当中。顺序组图如下。图1.8 “Web站点创建向导”窗口图1.9 “默认Web站点属性”窗口图1.10 浏览文件夹图1.11 Web站点创建向导1图1.12 Web站点创建向导2(3)为新建站点配置默认文档站点建立之后,设置其默认文档关系到直接运行站点能否顺利打开默认首页,如果该站点的主页文件未在默认文档当中,站点是无法自动运行的,而需要单击首页文件右键,选择“浏览”才可以,主页势必显得笨拙。右键单击新建站点“医药连锁店管理系统”,在弹出菜单中选择“属性”,出现如图1.13所示。图1.13 医药连锁店管理系统属性页1在窗口中选择“文档”选项卡,如图1.14所示。图1.14 医药连锁店管理系统属性页2因为网站的主页文件为index.asp,所以在此窗口中单击【添加】按钮,输入index.asp,单击【确定】按钮,单击【确定】按钮完成默认文档的配置。配置工作完成。请右键单击新建站点,选择“浏览”即可。 9 -1- 本科毕业论文(设计)本科毕业论文(设计) 医药连锁店管理系统管理系统 学学 院院: : 信息学院信息学院 专专 业:业:计算机科学与技术计算机科学与技术 班班 级:级: 计算机计算机 031031 学学 号:号: 03141711130314171113 学生姓名学生姓名: : 指导教师:指导教师: 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 页 摘要【摘要】随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。药品流通现代化经营模式正成为医药流通企业掌握未来的有效手段,医药产业的竞争将向“大集团、大品种、大市场”战略方向靠拢。在当今高度信息化的时代,越来越多的医药经营企业意识到提高企业管理水平的重要性,也迫切要求加快管理信息化的进程。医药连锁机构维系业务正常运行以及建立核心竞争力的基础之一就是拥有高效、稳定的信息系统。行业的快速发展必然导致市场竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率,另外,由于医药产品种类繁多、销售模式特殊,业务量大,单凭手工记账已远远适应不了企业快速发展的需求。医药作为一个关系到人们健康的特殊行业,并且国家对医药行业又有一些不同与其他行业的管理政策,这些都加大了企业管理的难度。而通过网络化管理医药连锁企业可以实现总店管理员对各分店进行的一系列经营管理(销售情况、销售汇总、统计等) ,从而迅速建立和完善现代企业的信息化管理机制问题。可以说,没有信息化的医药连锁几乎是不可想象的。由此,医药连锁店管理系统应运而生。【关键词】 医药连锁、药品、医药、医药连锁店 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 3 页目录摘要10 引言11 系统分析21.1 需求分析21.2 可行性分析22 总体设计22.1 项目规划22.2 系统功能结构图33 系统设计43.1 设计目标43.2 开发及运行环境43.3 逻辑结构设计54 前台主要功能模块详细设计54.1 前台文件总体架构54.2 药品搜索模块设计84.3 药品展示模块设计104.4 求医问药模块设计155 程序调试与错误处理275.1 利用代码正确控制 Check 控件被选中状态 27附录 A 参考文献 附录 B 数据表附录 C 文件架构图 -1- 0 引言全球经济一体化步伐的加快,使大多数企业适应市场发展,不断的扩大企业的经营规模,从单一的企业对客户的销售模式,转变成企业的多店对客户的销售模式(即连锁经营管理模式) ,更有一部分企业,为了占领市场的绝大多数份额,和同行的企业联合,加盟成一个大的连锁机构,以适应经济全球一体化的经营管理体制。经营模式的转变,对企业的管理提出了全新的要求,除了要求保存原有管理体制的优点外,更为重要的是,需要解决多店销售带来的一系列的管理上的新问题。多店销售,要求对多店进行统一的管理,同步的进行一系列的经营活动。传统的单一计算机管理系统,已经不能满足连锁管理体制下新的管理要求。互联网时代的到来,为管理体制注入了新的血液。越来越多企业商家认识到Internet 的优越性,开始通过 Internet 进行企业管理,树立企业的网络形象,介绍企业的经营管理模式、销售的商品信息。同时,通过网络化管理,实现了由总店管理员对各分店的销售情况进行汇总、统计的功能,解决实际工作中不能及时对连锁店销售情况进行统一管理的问题;通过网络化管理,实现了和客户在线的交流,增加了和客户沟通的渠道。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 2 页 1 系统分析1.1 需求分析通过调查,要求系统需要有以下功能:由于操作人员的计算机知识普遍较差,要求有良好的人机界面。由于该系统的使用对象多,要求有较好的权限管理。方便的数据查询,满足顾客快速、准确查找药品信息的要求。全面展示企业的形象,让顾客通过网络对企业有一个更为全面的认识。提供公告信息、养生之道、加盟信息等。设置求医问药功能模块,帮助顾客解决问题,拉近和客户之间的距离。分类展示药品信息,方便客户查看相关内容。系统管理员对网站后台管理模块设置。连锁店用户对网站后台管理模块设置。管理前台所展示的全部信息类内容。后台功能完善的药品管理模块。功能强大的销售管理、统计模块。为保证数据的安全性设置数据备份功能、数据恢复功能。各连锁店销售排行统计。系统注销。1.2 可行性分析经济性网络化管理解决了实际工作中不能及时对连锁店销售情况进行统一管理的问题,为企业节省了大量的管理上所花费的时间,提高了企业经营管理效率。技术性通过网络管理,实现了和客户在线沟通的功能,实现对各连锁店进行销售的统计、排行功能。为总店管理提供了功能强大的数据备份和数据恢复功能。2 总体设计2.1 项目规划医药连锁店管理系统是一个典型的 ASP 数据库开发应用程序,由连锁店前台展示模块、总店后台管理和连锁店后台管理 3 部分组成。前台展示模块该模块主要为顾客提供药品信息的查询功能、药品分类信息展示、公司简介、 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 3 页好药推荐、热销排行、科学养生、求医问药、加盟我们等功能模块。总店后台管理该模块主要管理 My Info(添加总店管理员信息) 、公告管理、科学养生文章、连锁店管理、药品管理、销售管理、数据备份、数据恢复。连锁店后台管理该模块主要管理 My Info(添加连锁店用户的信息) 、药品管理、药品销售。2.2 系统功能结构图医药连锁店管理系统前台功能结构如图 1 所示。图 1 医药连锁店管理系统前台功能结构图总店后台管理系统功能结构图如图 2 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 4 页 图 2 总店后台管理系统功能结构图医药连锁店管理系统后台功能结构图如图 3 所示。图 3 医药连锁店管理系统功能结构图 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 5 页3 系统设计3.1 设计目标本系统是针对医药连锁企业的经营管理模式进行设计的,主要实现如下目标:系统采用人机对话方式,界面美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。为顾客提供一个方便、快捷的药品信息查询功能模块。全面展示企业的形象。分类展示药品信息方便顾客查看,为顾客提供最新好药信息。为顾客提供养生的科学知识。实现了在线解答顾客疑难问题的功能模块。设置了总店后台管理和连锁店后台管理功能。由总店管理员管理前台的所有信息类功能模块。为总店管理员设置了功能完备的销售统计管理模块,对连锁店的销售性总值进行管理、统计各排行,同时对各连锁店进行管理。实现了由总店管理对数据库进行数据备份、数据恢复的功能。连锁店后台管理模块为连锁店管理员提供了分店药品管理和药品销售管理模块,并提供用户管理功能。系统运行稳定、安全可靠。3.2 开发及运行环境硬件平台:CPU:P41.8GHz。内存:256MB 以上。软件平台:操作系统:Windows xp/ Windows 2000。数据库:SQL Server 2000。浏览器:IE5.0,推荐使用 IE6.0。Web 服务器:IIS5.0。分辨率:最佳效果 1024768 像素。3.3 逻辑结构设计本系统数据库采用 SQL Server 2000 数据库,系统数据库名称为 DB_Lsmanage中包含 8 张表。下面分别给出数据表概要说明及数据表的结构。1数据表概要说明为使对本系统后台的数据库中数据表有一个更清晰的认识,笔者设计了一个数据表树型结构图,该数据表树型结构图包含系统所有数据表。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 6 页 图 4 数据表树型结构图2数据表的结构关于数据库中的数据表请参见附录 B。4 前台主要功能模块详细设计4.1 前台文件总体架构1功能模块介绍前台页面主要包括以下功能模块:网站导航:主要包括网站的旗帜导航条和站内分类导航两个部分。公司简介:主要介绍公司的基本信息。好药推荐:主要用于推荐用户反馈的好药信息。药品展示:主要是展示药品的信息。热销排行:主要展示销量最好的前 10 种药品信息及详细信息查看。科学养生:主要用于介绍养生理论、养生方法。求医问药:主要用于展示求医问药的留言信息及发表新留言两部分。加盟我们:介绍公司的加盟条件。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 7 页2前台页面运行结果顾客在进入医药连锁店后,首先进入连锁店的大厅,也就是连锁店的首页。医药连锁店首页包含很多内容,和现实中的医药连锁店一样,列出了连锁店的药品展示、好药推荐、热销排行、公告信息、连锁店列表及客户的最新留言信息。前台首页运行结果如图 7 所示。13426798510 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 8 页 图 7 前台首页运行结果前台页面的各部分说明以列表形式给出,如表 1 所示。表 1 前台首页解析区域名称说明对应文件1网站导航主要展示网站的旗帜广告和站内导航条top1.asp2用户登录主要用于提供总店管理员和连锁店管理员登录后台的入口left.asp3好药推荐主要用于展示用户反馈的好药信息left.asp4公告主要用于展示本站的最新公告right.asp5药品搜索按药品名称、适应症进行药品信息的模糊搜索left.asp6连锁店列表展示全国各地连锁店信息right.asp7热销排行展示连锁店中销量最好的 10 种药品left.asp8药品展示主要用于展示药品的信息main.asp9最新留言记录用户的留言信息right.asp10版权信息用于展示网站的版权信息bottom.asp4创建数据库连接创建数据库连接主要分两步进行:一是创建数据库连接文件 Conn.asp,二是在需要与数据库连接的页面中包含该文件(如,) 。连接数据库的代码如下:4.2 药品搜索模块设计如果用户想要更快速查找药品信息,怎么办?医药连锁店管理系统专门设计了药品搜索模块,通过使用它,用户能够查询到需求的药品信息。本网站采用的是关键字搜索,并把关键字搜索范围进行了限制,按药品名称及适应症对指定的药品参数的关键字进行模糊查询。该功能由两部分组成,一部分是查询条件输入专区(left.asp) ,另一部分是查询结果显示专区(answer.asp) ,查询条件输入专区的设计效果如图 8 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 9 页图 8 查询条件输入专区页面的设计效果当用户在查询条件输入专区页面填写查询内容并确认进行信息查询,当前页将更新为查询结果展示专区页面。查询结果展示专区页面首先根据用户提交的查询数据(表单信息)进行数据库检索,并将结果集输出到浏览器中。查询结果展示专区页面的设计效果如图 9 所示。图 9 查询结果展示专区页面的设计效果查询条件输入专区页面涉及的 HTML 表单元素如表 2 所示。表 2 查询条件输入专区页面涉及的 HTML 表单元素名称类型含义重要属性form2form表单action=index.asponSubmit=return chkwords();keywordstext输入查询关键字style=border:1px solid;border-color:000000当用户在查询条件输入专区页面输入查询关键字后,首先利用 JavaScript 编写chkwords()函数,用来检测用户输入信息是否合法,当用户输入合法的信息后,提交该表单,完整代码如下:function chkwords() 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 10 页 if (document.form2.keywords.value=) alert(请输入关键字!); form2.keywords.focus(); return false; return true; 按药品名称及适应症状对指定的药品参数关键字进行模糊查询,并显示相应的查询结果,其代码如下: %key=request.QueryString(keywords)sql=select * from tb_MedicineName where yName like %&key&% or fortill like %&key&%set rs=server.CreateObject(adodb.recordset) rs.open sql,conn,3,3if rs.eof then response.write Sorry!没有找到您想要的结果else response.write response.write 共找到&rs.recordcount&条包含&key&的记录 response.write %药品搜索页面的运行结果如图 10、图 11 所示。图 10 药品搜索页面的运行结果 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 11 页图 11 药品信息显示页面的运行结果4.3 药品展示模块设计药品展示模块主要是为方便用户更快捷的了解医药连锁店店内的药品详细信息进行设计的。用户可以通过站内主要功能导航进入不同的药品展示页面,浏览各种药品及药品的简要信息。当用户需要了解某药品的详细说明时,可单击【查看详细】按钮,进入到药品的查看详细信息页面,用户通过此页面对药品的主要成份、适应症、用法用量等功能做进一步的了解。药品展示页面主要包括药品分类展示(show.asp)和药品详细信息展示(look.asp)两部分。1药品分类展示页面药品分类展示页面是专门为用户需要而设计的一个构思合理的模块。它对连锁店的全部药品信息进行分类展示。页面左侧用于展示药品的类别名称,单击相应的药品类别名称超链接,即可在右侧显示属于该类药品的所有药品信息,并且每页以2 条药品信息进行显示。药品展示页面的设计效果如图 12 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 12 页 图 12 分类药品展示页面的设计效果药品展示模块中,显示药品类别信息的程序代码如下: a href=show.asp?TypeId= 药品分类展示页面功能的实现,主要是检索数据库,将药品类型字段为“TypeId”的数据以分页形式输出到浏览器中,每页显示 2 条数据。分页显示药品信息的关键代码如下:% if request(TypeId) then rs.open select * from tb_MedicineName where TypeId=&request(TypeId),conn,3,3 if rs.eof then 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 13 页 response.write 该类还没有药品 else rs.pagesize=2 每页显示2条记录 page=clng(request.QueryString(page) if pagers.pagecount then page=rs.pagecount rs.Absolutepage=page 将记录指针定位到指定页%if request(TypeId) then rs.open select * from tb_MedicineName where TypeId=&request(TypeId),conn,3,3 if rs.eof then response.write 该类还没有药品 else rs.pagesize=2 每页显示2条信息 page=clng(request.QueryString(page) if pagers.pagecount then page=rs.pagecount rs.Absolutepage=page 将记录指针定位到指定页% 0 then% img src=manage/goods/goodspic/ width=50 height=50 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 14 页 onClick=newwin(manage/goods/look.asp?Id=) style=cursor:hand img src=images/nopic.gif width=50 height=50 onClick=newwin(manage/goods/look.asp?Id=) style=cursor:hand 药品名称 规 格 适应症 input type=button value=查看详细 onClick=newwin(manage/goods/look.asp?Id=) style=border:1px solid;border-color:000000;background-color:ffffff; %if i mod 2 0 then response.write end ifrs.movenext 继续执行下一条语句if i Mod 2 = 0 then response.write end ifif rs.eof then exit for 当记录执行到文件尾结束该循环next%在浏览药品模块中还有一个很关键的程序块就是列表的翻页功能。当从各个入口进入到浏览药品程序列表页后,如何能够把这些参数保留住,在程序列表页中进行自身的传递以便翻页?这就需要 ASP 程序来完成,实现这个功能的完整代码如下: 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 15 页 %response.write 该类共包含&rs.recordcount&个药品 &rs.pagesize&个/页当前页:&page&/&rs.pagecount if page1 then%首页a href=show.asp?page=上一页 %end if if pagers.pagecount then response.write 下一页 最后一页 end if% 上述代码中使用的函数 newwin()的完整代码如下: function newwin(url) window.open(url,查看详细,width=400,height=310,left=0,top=0,resizable=yes,scrollbars=yes);添加对应药品的详细信息【查看详细】按钮的程序代码如下:input type=button value=查看详细 onClick=newwin(manage/goods/look.asp?Id=) style=border:1px solid;border-color:000000;background-color:ffffff;分类药品展示页面的运行结果如图 13 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 16 页 图 13 分类药品展示页面的运行效果2药品详细信息展示页面药品详细信息展示页面是为了让用户对药品有一个更全面的了解,以方便选购。该页面主要是根据传递的参数(本例为药品 ID 号,参数名为 ming)检索相应的记录信息并显示。药品详细信息展示页面的设计效果如图 14 所示。图 14 药品详细信息展示页面的设计效果根据传递的参数进行数据库检索的代码如下:当显示药品的详细信息,即主要成份、适应症、用法用量、详细说明时,触发函数 repstr()。该函数的作用是将指定数目的空字符串替换为一个空字符串,其完整代码如下:0 then repstr=replace(str,) else repstr=没有信息 end ifend function%显示图片信息的代码如下:0 then% img src=goodspic/ width=150 height=150 显示药品的详细信息的程序代码如下: 显示药品名称 显示主要成份 显示适应症 显示用法用量 显示详细说明药品详细信息展示页面的运行结果如图 15 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 18 页 图 15 药品详细信息展示页面的运行结果4.4 求医问药模块设计求医问药模块作为一个完全独立的模块,主要包括留言列表、发表留言、查看留言、回复留言和删除留言 5 部分。1留言列表用户可以单击首页主导航区【求医问药】超链接,进入到“留言列表”页面。用户可以在留言列表页面填写留言信息;单击任意一个留言的标题链接,打开查看留言页面,浏览对应留言的详细信息。留言列表页面的设计效果如图 17 所示。图 17 留言列表页面的设计效果留言列表主要就是将数据中的留言信息分页输出到浏览器中,每页显示 2 条记录,留言列表文件中检索数据库的程序代码如下:%set rs=server.CreateObject(adodb.recordset)sql=select * from tb_BBS where upid=0 order by id descrs.open sql,conn,3,3分页显示留言信息 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 19 页if rs.eof then response.write 现在还没有人发表提问else rs.pagesize=2 每页显示2条记录 page=Clng(request.QueryString(page) 查找当前显示的页码 if page= or pagers.pagecount then page=rs.pagecount rs.AbsolutePage=page 将记录指针定位到指定页 i=1 for i=1 to rs.pagesize if rs.eof then exit for 如果记录尾结束循环% tr a href=readask.asp?id= / %response.write 当前共&rs.recordcount&个问题 &rs.pagesize&条/页 if page1 then 当页码大于1时,显示首页及上一页超链接 response.write 首页 response.write 上一页 end if if pagers.pagecount then 当页码小于总页数时,显示下一页及最后一页超链接 response.write 下一页 response.write 最后一页 end if 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 20 页 rs.movenextnextend if%在留言列表页面中,单击任意一个留言的标题链接,打开查看留言页面,为每条留言添加打开详细信息展示页面的超链接,通过单击超链接浏览对应留言的详细信息,程序代码如下:a href=readask.asp?id= 在上述代码中,newwin()是笔者自定义的函数,其作用就是调用一个新窗口,该函数的完整代码如下: function newwin(url)window.open(url,NEW,width=480,height=260,left=0,top=0,resizable=yes,scrollbars=yes);留言列表页面的运行结果如图 18 所示。图 18 留言列表页面的运行结果2发表留言用户可以在留言列表页面中单击【发表新留言】按钮,进入到“发表留言”页面发表留言信息。在设计发表留言页时,为了使用户的留言信息保存后,留言内容的文字和标点符号能够统一,在查看留言信息时,不影响阅读效果,所以在此,将不规则字符“”通过函数 replace()替换为字符“ ” ,同时控制用户输入的任一主题内容不为空,如果为空,将给予信息提示。发表留言页面的设计效果如图 19 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 21 页图 19 发表留言页面的设计效果发表留言页面中涉及的 HTML 表单元素如表 3 所示。表 3 发表留言页面中涉及的 HTML 表单元素名称类型含义重要属性form1form表单action= onSubmit=return chkfields();authortext昵称style=border:1px solid;border-color:000000titletext标题style=border:1px solid;border-color:000000contenttextarea内容b1submit【提交】按钮b2reset【取消】按钮onClick=window.close();发表留言信息时的数据处理页主要是将用户提交的表单信息保存到数据库中,数据处理页的程序代码如下:0 then%title=trim(request(title) 用于除去字符串中的空格title=replace(title,) 用于将字符串中的指定字符替换content=trim(request(content)content=replace(content,)content=replace(content,chr(13),)content=replace(content, ,)author=trim(request(author)author=replace(author,)if title= or content= or author= then% 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 22 页 alert(请准确填写留言信息); setTimeout(window.close();,10);%response.End()end ifpostdate=now() 获取系统当前的日期和时间set rs=conn.execute(insert into tb_BBS (title,content,backcount,readcount,author,postdate,upid) values (&title&,&content&,0,0,&author&,&postdate&,0)response.write 留言成功% opener.location.reload(); /刷新当前窗口的父窗口 setTimeout(window.close();,800);发表留言页面的运行结果如图 20 所示。图 20 发表留言页面的运行结果3查看留言用户可以在“留言列表”页面中单击任意一条留言的标题链接,打开查看留言页面,浏览对应留言的详细信息。用户可以在该页面实现留言信息的回复、留言信息的删除及回复信息的删除功能。查看留言页面的设计效果如图 21 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 23 页图 21 查看留言页面的设计效果查看留言页面主要就是将数据中的留言信息输出到浏览器中,通过传递的参数id,在数据表中检索留言信息,来判断访问留言信息的人数,如果检索到参数 id,则说明访问一次 id 所对应的留言信息,这时通过更新数据表对访问人数做自加 1 操作。留言列表文件中的检索数据库的程序代码如下:%id=request.QueryString(id)if id= then 如果id为空 response.write 请选择留言! response.End() 结束语句end ifset rs=conn.execute(select * from tb_BBS where Id=&id)if rs.eof then 如果到记录尾 response.write 没有该留言! response.End()else conn.execute(update tb_BBS set readcount=readcount+1 where Id=&id)end if%查看留言页面的运行结果如图 22 所示。 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 24 页 图 22 查看留言页面的运行结果4回复留言用户在“留言列表”页面中单击【回复该留言】按钮,进入到“回复该留言”页面,进行回复留言信息的添加。回复留言页面所涉及的方法和上面讲解的发表留言页面中实现的方法基本类似,这里不再赘述。在“查看留言”页面,单击【回复该留言】按钮,程序代码如下:input type=button value=回复该留言 onClick=return newwin(huifu.asp?id=); style=border:1px solid;border-color:#000000;background-color:#ffffff通过上面的代码可以看出,操作被提交到处理页后,处理页将根据传递过来的id 值对回复的留言信息进行存储,其关键代码如下:0 thencontent=trim(request(content)if len(content)=0 then alert(请填写留言内容!); window.history.back();response.End()end ifcontent=replace(content,chr(13),)content=replace(content, ,)author=trim(request(author) 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 25 页postdate=now() 回复留言日期和时间sql=insert into tb_BBS (content,author,postdate,upid) values (&content&,&author&,&postdate&,&id&) 向数据表中添加回复留言信息set rs=conn.execute(sql)sql1=update tb_BBS set backcount=backcount+1 where id=&idconn.execute(sql1)response.write 回复信息成功!% opener.location.reload(); setTimeout(window.close();,800); 此处省略了判断昵称及回复留言内容是否为空的代码end if%5删除留言在查看留言页面中,单击【删除】按钮,进行相应的留言信息或回复信息的删除操作。删除留言信息是在每条留言记录后添加一个【删除】按钮,可以在浏览完留言信息后对于没有价值的留言信息做删除操作,其关键代码如下: input type=image src=images/A_delete.gif onClick=return newwin1(delask.asp?id=); 删除回复信息是在每条记录后添加一个【删除】按钮,可以在浏览完留言的回复信息后对于没有价值的留言回复信息做删除操作,代码如下: a href=delask.asp?id= 当操作被提交到处理页后,首先通过标记 Flag 来判断用户是否有操作权限,如果该用户为管理员级别,则处理页将根据传递过来的 id 值对相应的记录进行删除,其关键代码如下:%if Session(Flag)1 then% alert(您无权删除!); setTimeout(window.close();,10); alert(删除留言信息成功!); window.location.href=askfor.asp;5 程序调试与错误处理5.1 利用代码正确控制 Check 控件被选中状态在医药连锁店管理系统中,在删除公告信息时,公告列表中只有一条公告记录,这时,单击【全选】按钮并不能将复选框选中,如图 42 所示。图 42 单击【全选】按钮时,复选框不能被选中 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 27 页根据以上的情形进行分析,当单击【全选】按钮时,调用 selall()函数判断复选框的个数时,没有考虑到 1 个复选框时如何进行处理,因此会出现上面的情况。源代码如下:function selall()var nn=self.document.all.item(delit)for(j=0;j=2) for(j=0;jnn.length;j+) self.document.all.item(delit,j).checked=true; 当复选框为大于等于2时,处于选中状态 else self.document.all.item(delit,0).checked=true; 当复选框为1时,处于选中状态此时再运行网页时,将显示如图 43 所示的页面。图 43 单击【全选】按钮后,将单个复选框选中 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 28 页 附录 A 参考文献1JSP 数据库系统开发完全手册 人民邮电出版社 2006 年 3 月2Delphi 数据库系统开发完全手册 人民邮电出版社 2006 年 3 月3Visual Basic 数据库系统开发完全手册 人民邮电出版社 2006 年 3 月4Visual C+数据库系统开发完全手册 人民邮电出版社 2006 年 3 月5JSP 信息系统开发实例精选 机械工业出版社 王国辉、牛强、李南南等 2005年 7 月6Visual Basic 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005 年 7 月7SQL Server 数据库开发实例解析 机械工业出版社 宋昆、李严等 2006 年 1 月8Access 数据库开发实例解析 机械工业出版社 李俊民、高春燕等 2006 年 1 月9Visual Basic 精彩编程 200 例 机械工业出版社赛奎春、高春艳等 2003 年 1月10ASP 数据库开发实例解析 机械工业出版社 李严、于亚芳、王国辉2004年 12 月11Delphi 工程应用与项目实践 机械工业出版社 宋坤、赵智勇等 2005 年 1 月12Visual Basic 工程应用与项目实践 机械工业出版社高春艳、李俊民等 2005 年 1 月13Visual C工程应用与项目实践 机械工业出版社张雨、阮伟良等 5005 年 1 月14JSP 工程应用与项目实践 机械工业出版社 陈威、白伟明、李楠2005 年2 月15ASP 工程应用与项目实践 机械工业出版社 王国辉、牛强、李南南2005年 4 月16Visual Basic 信息系统开发实例精选 机械工业出版社高春艳、李俊民、张耀庭等2005 年 7 月17ASP 信息系统开发实例精选 机械工业出版社 王国辉、牛强、李南南等 2005年 7 月18Delphi 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005年 7 月19Visual foxpro 数据库开发关键技术与实例应用 人民邮电出版社 周桓、张雨、王国辉 2004 年 5 月20PoweBuilder 数据库开发关键技术与实例应用 人民邮电出版社 刘志铭 张振坤 冯文萃 2004 年 5 月21Delphi 数据库开发关键技术与实例应用 人民邮电出版社 赛奎春 陈紫鸿 宋 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 29 页昆 2004 年 5 月22Visual basic 数据库开发关键技术与实例应用 人民邮电出版社 高春艳、李艳 2004 年 5 月23Visual C+ 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年 7 月24Visual Basic 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年 7 月25PowerBuilder 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005 年 7 月26Visual FoxPro 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005 年 7 月27Delphi 数据库开发实例解析 机械工业出版社 赛奎春、郑骁鹏等 2004 年 2 月28Visual Basic 数据库开发实例解析 机械工业出版社刘志铭、高春艳等 2003 年 8 月29Visual FoxPro 数据库开发实例解析 机械工业出版社王晶莹、王国辉等 2003 年 9 月30Power Builder 数据库开发实例解析 机械工业出版社华传铭、张振坤等 2003 年 9 月31PowerBuilder 精彩编程 200 例 机械工业出版社 张振坤、李文立等2004年 9 月32Visual FoxPro 精彩编程 200 例 机械工业出版社 王国辉、董韶华等 2004 年 9月 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 30 页 附录 B 数据表(1)tb_BBS(留言信息表)留言信息表主要用于保存用户的留言信息,表 tb_BBS 的结构如表 B.1 所示。表 B.1 表 tb_BBS 的结构字段名数据类型长度描述Idint4IDtitlevarchar8000标题名称contentvarchar8000留言内容upidint4留言 IDPostdatesmalldatetime4发表时间authorvarchar50作者readcountint4阅读留言人数backcountint4回复留言人数(2)tb_MedicineName(药品信息表)药品信息表用来保存的药品的基础信息。表 tb_MedicineName 的结构如表 B.2所示。表 B.2 表 tb_MedicineName 的结构字段名数据类型长度描述Idint4IDTypeIdint4类别 IDyNamevarchar200药品名称Modevarchar200单位Pricemoney8单价intimedatetime8入库时间Mode1varchar200规格Gradebit1推荐状态imgvarchar200图片elementsvarchar200主要成份fortillvarchar200适应症状 2007 年 4 月 28 日 贵州大学本科毕业论文(设计) 第 31 页usesizevarchar200用法用量medbookvarchar200详细说明(3)tb_MedicineType(药品类别表)药品类别表主要用来保存药品类别信息,表 tb_MedicineType 的结构如表 B.3所示。表 B.3 表 tb_ MedicineType 的结构字段名数据类型长度描述TypeIdint4类别 IDTypeNamevarchar50类别名称(4)tb_s
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。