药店信息管理系统—计算机毕业设计.doc
编号: 填学号 毕 业 设 计 题 目 药店信息管理系统指导教师 学生姓名 专 业 计算机科学与技术教学单位 盖章摘要随着科学技术的开展,计算机领域不断取得新的研究成果。并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在商店里,随着规模不断扩大和产品的不断增加,要处理大量的产品数据信息显得尤为的重要。药店的信息管理是药店工作中一项重要的内容。本系统论文主要是管理产品的在线发布。重点介绍其功能:新闻发布、留言板、后台登陆、后台登陆的权限,不用权限的用户登陆到不同的后台,登陆到后台后能实现、信息添加、信息修改、信息的删除及信息查询,能用用户的资料进行修改,如修改密码等。使用动态页面设计,应用ASP程序进行后台管理操作,并用Access进行后台数据库的连接设计。主要是以这些功能进行系统的设计和实现。现今飞速开展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的开展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与效劳提供商的桥梁,是业务的来源之力。为了更好的推销本公司,为了更好的让客户了解本公司,更方便的效劳客户,且能更方便的与本公司联系,节约时间,及时发挥效应。更加系统和有效地管理公司业务,方便客户能够在任何地点、任何时间及时地了解和掌握公司的最新行情;更加系统和有效地管理公司业务,方便客户购物,实现客户与公司的相互交流和预订业务功能!关键词:Dreamweaver 8.0 系统 站点设计 ASP Access 数据库目录:第一章 引 言-3第二章 系统分析-4第三章 药店信息管理的设计-4第四章 药店信息管理系统的实现-8 第五章 结论-16参考文献-17致 谢-17附件-17-46第一章 引 言随着计算机技术的飞速开展和高等教育体制改革的不断深入,计算机技术已进入网络时代,传统的产品信息管理方法,手段及工作效率已不能适应新的开展需要,无法很好的完成管理工作,提高管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识,同时运用先进的信息技术,开发药店信息管理系统的需求,是深化管理体制改革的有力措施。建立药店信息管理系统,采用计算机网络对药店产品进行管理,进一步提高办事效益和现代化水平。帮助员工提高工作效率,实现药店信息管理工作流程的系统化、网络化、标准化和自动化。本系统全称为药店信息管理系统。开发药店信息管理系统可使学院教职员工减轻工作压力,比拟系统地对教务、教学上的各项效劳和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。因此开发一套基于计算机网络的管理系统是很有必要的。 开发环境,主要利用ASP+ACCESS及IIS环境进行开发开发工具,主要利用Dreamweaver8.0 及Access2003进行开发本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。ASPActive Sever Pages动态网页是微软公司推出的一种用以取代CGI(Common Gateway Interface)技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。ASP是在效劳器端脚本编译环境,使用它可以创立和运行动态、交互的Web效劳器应用程序。ASP可以与HTML页、脚本命令和 ActiveX组件组合创立交互的Web页和基于Web的功能强大的应用程序。ASP应用程序很容易开发和修改。ASP是一个位于效劳器端的脚本运行环境。通过这种环境,用户可以创立和运行动态的交互式Web效劳器应用程序,如交互 式动态网页,包括使用HTML 表单收集和处理信息、上传与下载等。 通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供“静态static的主页内容。所谓“静态,是指站点的主页内容是“固定不变的。一个“静态的站点,假设要更新主页的内容,必须手动更新其 HTML的文件数据。而随着Web技术的开展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求而生成报表等。站点效劳器收到要求执行的应用程序,分析表单form的输入数据,将执行的结果以HTML的格式传送给浏览器。根据用户请求生成动态主页的传统方法有CGI、ISAPI等。CGI是根据浏览器端的 请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下。ISAPI针对这一缺点进行了改良,利用dll动态链接库技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术 Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。ASP使用的 ActiveX技术基于开放设计环境,用户可以自己定义和制作组件参加其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统如SQL Server 2000相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。 Access可以实现建立数据库、报表,以及对数据库、报表的修改、查询等功能。第二章 系统分析一、网站的需求分析一、功能需求1、用户登陆、管理员的级别权限、超级管理员:超级管理员可实现对所有记录进行查询、添加、删除、修改、等操作,且能修改超级管理员账号信息。超级管理员可任命管理员,可以添加管理账号且能对所有管理员账号信息等资料进行修改。超级管理员可对注册申请管理员信息进行审核,审核通过后便可任命为正式管理员。超级管理员可以接收定单,进行留言板管理,订单管理,进行新闻发布,修改账号资料等。、普通管理员进入后台后,可以进行对产品的订单,还可以进行新闻了布,当然也可以修改自已的账号。、注册用户登陆后,能对自已的账号信息等资料进行修改。普通用户可以提交定单,可以进行留言,并且实现反应到留言板上,使的管理员能收到定单,也能收到留言。、注册用户、普通管理员和超级管理员登陆后,分别显视登陆用户的用户名,且都可以修改账号信息。2、新闻发布超级管理员可实现新闻的发布,订单接收等功能3、产品在线分页显视可以在cp产品页面上进行动态产品发布,连接数据库,将数据库中的信息显视到产品页面下,包括图片信息,也是要动态连接数据库。二、性能需求 1、硬件需求:cpu :intel pentiumII 或等效处理器、300MHZ或更高 内存:96MB 可用内存 硬盘:275MB以上可用磁盘空间 显示器:可达800×600像素的256色显示器或更高2、软件需求:操作系统windouw 98/2000/NT(或更高版本) 浏览器:netscape navigator4.0或microsoft internet explover4.0或更高本。第三章 药店信息管理的设计介绍整个网站前台的根本架构,详细信息如表1。杭州萧山慧飞窗帘网用户登录用户注册用户注册最新动态产品世界留言板 处方药非处方药甲类药物乙类药物客户留言留言查看管理员登陆药店简介表1 网站前台架构修改新闻添加新闻新闻管理删除新闻发布产品修改产品产品管理管理员登录删除产品登录在线定购查看留言留言管理表2 网站后台架构3,数据库设计数据库名:图一数据库中的所有表图二数据库中的产品表图三数据库中的产品订购表图四数据库中的留言表图五数据库中的用户账号信息表图六数据库中的管理员账号表图7数据库中的新闻表第四章 药店信息管理系统的实现前台模块图一网站首页美工设计图二新闻动态发布图三产品动态发布42后台模块后台管理首页简介进入后台管理,进行管理员登录index1.asp,进入管理首页glzx.asp。整个后台分为四个模块:1新闻管理包括对新闻的添加、修改与删除。2产品管理包括对产品的添加与修改。3订单管理包括对订单确实认与删除。4留言管理包括删除留言内容。管理员登录界面图11管理员登陆admin.asp对输入的用户名和密码进行判断代码页面 login.asp:<%Response.Buffer=True%><%'查看有无该用户dim db,strsql,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"strSql="Select user_name,password,user_type From users"strSql=strSql & " Where user_name='" & Request.Form("user_name") & "' And password='" & Request.Form("password") & "'"Set rs=db.Execute(strSql)If not rs.eof and not rs.bof Then'如果有记录,表示有该用户,那么将用户名和用户类型保存到Session中Session("user_name")=rs("user_name")session("user_type")=rs("user_type")Session("password")=rs("password")'如果是普通用户,重定向到首页;如果是管理员,重定向到管理员页面If Session("user_type")="A" ThenResponse.Redirect "houtai.asp"ELseResponse.Redirect "houtai2.asp"End IfElse'如果没有记录,表示没有该用户,请给出提示信息Response.Write "对不起,用户名或密码有误,请<a href='admin.asp'>返回</a>重新登录"End If%>后台界面图12超级管理员后台界面houtai.asp图13普通管理员后台界面houtai.asp图13普通用户管理员后台界面user.asp图四留言版动态发布图五联系我们图六管理员登陆第五章、设计总结评价整个系统已根本完成,但是由于时间不够充分,还有许多方面不够完善,如有些功能不能运行,功能不齐全等等。1公司简介面页中内容显得有些单簿,在后期工作中还会有所补充。2图片处理得不够美观,而且图片少,在以后会添加。3整个版面不是很整齐,以后改良。毕业设计终于可以告一段落了,完成期间,投入了许多精力,边学边做,积累经验,学会了较多制作网站的知识。当然也让我进一步了解了后台制作,它必需与数据库相连。在以后的阶段里我会在各个方面进一步的完善,使网站更加的美观。第六章、参考文献1.?ASP信息化系统建设案例? 人民邮电出版社 陈娴、雒海涛编著 2.?Dreamweaver8+ASP动态网站开发? 电子工业出版社 载一波编著 3.?网站全程设计技术? 清华大学出版社 姜韡、吴涛编著4.?网站设计与开发? 机械工业出版社 杨晓钟编著致 谢 在这里我非常感谢我的指导老师刘利东,在经过他的教育下,使我在此完成我的毕业设计,在此特向刘老师致谢!谢谢刘利东老师孜孜不倦的教导,以及对我们的重视,让我能顺利地完成这个课程设计。经过一年相处,除了感谢还是感谢。从Dreamweaver到ASP,让你为了费不了少的心思,也费了你不少的时间。谢谢你陪我们走过了一年美好的大学时光,大学时光是美丽的,因为有你的存在。期待再见!我知道在这次的课程设计中自已有许多的欠缺,在以后的日子中,我一定得更加严格要求自己,改正缺点,不断努力,不断进步。 附 录 Sign.asp页面源码:<%option explicit%><%If request.form("user_name")<>""and request.form("password")<>""then dim db,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("data/zhangrong.mdb")&"driver=microsoft access driver (*.mdb);"dim strsql,user_name ,Password ,realname ,mobi,email,name name=request.form("user_name")'检查新用户名与数据库是否重复,哈哈,终于调通了strSql="select * from user Where user_name='" & Request.Form("user_name") & "'" Set rs=db.Execute(strSql)If not rs.eof thenResponse.Write "对不起,用户名已被注册,请<a href='sign.htm'>重新注册</a>" else user_name=request.form("user_name") Password=request.form("Password") realname=request.form("realname") mobi=request.form("mobi") email=request.form("email") strsql="insert into user(user_name ,Password ,realname ,mobi,email)values('"&user_name&"','"&Password&"','"&realname&"','"&mobi&"','"&email&"')" db.execute(strsql) response.redirect "cg.htm" end if else response.write"请将所有信息填写完整" response.write"<A HREF='sign.htm'>重新注册</a>"end if%>Update.asp页面源码:<%if request.form("password")<>""then dim dbset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"dim strsql,Password ,idPassword=request.form("Password")StrSql="Update user Set Password='" & Password & "'Where user_name='"&session("user_name")&"'"db.execute(strsql)response.redirect "login1.htm"elseresponse.write"请将所有信息填写完整"response.write"<A HREF='user.asp'>请重新修改</a>"end if%>Sign1页面源码:<%option explicit%><%If request.form("user_name")<>""and request.form("password")<>""then dim db,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"dim strsql,user_name ,Password,name name=request.form("user_name")strSql="select * from user Where user_name='" & Request.Form("user_name") & "'" Set rs=db.Execute(strSql)If not rs.eof thenResponse.Write "对不起,用户名已被注册,请<a href='sign1.htm'>重新注册</a>" else user_name=request.form("user_name") Password=request.form("Password") strsql="insert into user(user_name ,Password)values('"&user_name&"','"&Password&"')" db.execute(strsql) response.redirect "cg.htm" end if else response.write"请将所有信息填写完整" response.write"<A HREF='sign1.htm'>重新注册</a>"end if%>Sign.asp页面源码:<%option explicit%><%If request.form("user_name")<>""and request.form("password")<>""then dim db,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"dim strsql,user_name ,Password,name name=request.form("user_name")strSql="select * from users Where user_name='" & Request.Form("user_name") & "'" Set rs=db.Execute(strSql)If not rs.eof thenResponse.Write "对不起,用户名已被注册,请<a href='sign.htm'>重新注册</a>" else user_name=request.form("user_name") Password=request.form("Password") strsql="insert into users(user_name ,Password)values('"&user_name&"','"&Password&"')" db.execute(strsql) response.redirect "admin.asp" end if else response.write"请将所有信息填写完整" response.write"<A HREF='sign.htm'>重新注册</a>"end if%>Login.asp页面源码:<%Response.Buffer=True%><%'查看有无该用户dim db,strsql,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"strSql="Select user_name,password,user_type From users"strSql=strSql & " Where user_name='" & Request.Form("user_name") & "' And password='" & Request.Form("password") & "'"Set rs=db.Execute(strSql)If not rs.eof and not rs.bof Then'如果有记录,表示有该用户,那么将用户名和用户类型保存到Session中Session("user_name")=rs("user_name")session("user_type")=rs("user_type")Session("password")=rs("password")'如果是普通用户,重定向到首页;如果是管理员,重定向到管理员页面If Session("user_type")="A" ThenResponse.Redirect "houtai.asp"ELseResponse.Redirect "houtai2.asp"End IfElse'如果没有记录,表示没有该用户,请给出提示信息Response.Write "对不起,用户名或密码有误,请<a href='admin.asp'>返回</a>重新登录"End If%>Login1.asp页面源码:<%Response.Buffer=True%><%'查看有无该用户dim db,strsql,rsset db=server.createobject("ADODB.connection")db.open "dbq="&server.mappath("userinfo.mdb")&"driver=microsoft access driver (*.mdb);"strSql="Select user_name,password From user"strSql=strSql & " Where user_name='" & Request.Form("user_name") & "' And password='" & Request.Form("password") & "'"Set rs=db.Execute(strSql)If not rs.eof and not rs.bof Then'如果有记录,表示有该用户,那么将用户名和用户类型保存到Session中Session("user_name")=rs("user_name")Session("password")=rs("password")'如果是普通用户,重定向到首页;如果是管理员,重定向到管理员页面If Session("user_name")="A" ThenResponse.Redirect "user.asp"ELseResponse.Redirect "user.asp"End IfElse'如果没有记录,表示没有该用户,请给出提示信息Response.Write "对不起,用户名或密码有误,请<a href='index.asp'>返回首页</a>重新登录"End If%>超级管理员后台界面houtai.asp<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!-#include file="Connections/coon.asp" -><%' * Edit Operations: declare variablesDim MM_editActionDim MM_abortEditDim MM_editQueryDim MM_editCmdDim MM_editConnectionDim MM_editTableDim MM_editRedirectUrlDim MM_editColumnDim MM_recordIdDim MM_fieldsStrDim MM_columnsStrDim MM_fieldsDim MM_columnsDim MM_typeArrayDim MM_formValDim MM_delimDim MM_altValDim MM_emptyValDim MM_iMM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)End If' boolean to abort record editMM_abortEdit = false' query string to executeMM_editQuery = ""%><%' * Insert Record: set variablesIf (CStr(Request("MM_insert") = "3") Then MM_editConnection = MM_coon_STRING MM_editTable = "xinwen" MM_editRedirectUrl = "yjxw.asp" MM_fieldsStr = "1|value|2|value" MM_columnsStr = "biaoti|',none,''|meirong|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") ' set the form values For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i) Next ' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then Else End If End IfEnd If%><%' * Insert Record: construct a sql insert statement and execute itDim MM_tableValuesDim MM_dbValuesIf (CStr(Request("MM_insert") <> "") Then ' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If End If If (MM_i <> LBound(MM_fields) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")" If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End IfEnd If%><%Dim rs1Dim rs1_numRowsSet rs1 = S