摘要
随着科学技术的发展,计算机领域不断取得新的研究成果。并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在商店里,随着规模不断扩大和产品的不断增加,要处理大量的产品数据信息显得尤为的重要。药店的信息管理是药店工作中一项重要的内容。
本系统范文主要是管理产品的在线发布。重点介绍其功能:新闻发布、留言板、后台登陆、后台登陆的权限,不用权限的用户登陆到不同的后台,登陆到后台后能实现、信息添加、信息修改、信息的删除及信息查询,能用用户的资料进行修改,如修改密码等。使用动态页面设计,应用ASP程序进行后台管理操作,并用Access进行后台数据库的连接设计。主要是以这些功能进行系统的设计和实现。
现今飞速发展的网络为公司与带来的便利性举世皆知。更为公司带来广阔的发展空间。宣传,对公司来讲是个不可缺的工具,更是一个无法缺少的纽带,它是连接消费者与服务提供商的桥梁,是业务的来源之力。为了更好的推销本公司,为了更好的让客户了解本公司,更方便的服务客户,且能更方便的与本公司联系,节约时间,及时发挥效应。更加系统和有效地管理公司业务,方便客户能够在任何地点、任何时间及时地了解和掌握公司的最新行情;更加系统和有效地管理公司业务,方便客户购物,实现客户与公司的相互交流和预订业务功能!
关键词:Dreamweaver 8.0 系统 站点设计 ASP Access 数据库
目录:
第一章 引 言---------------------------------------------------------------------------------3
第二章 系统分析------------------------------------------------------------------------------4
第三章 药店信息管理的设计---------------------------------------------------------------4
第四章 药店信息管理系统的实现---------------------------------------------------------8
第五章 结论------------------------------------------------------------------------------------16
参考文献-----------------------------------------------------------------------------------------17
致 谢--------------------------------------------------------------------------------------------17
附件-----------------------------------------------------------------------------------------------17--46
第一章 引 言
随着计算机技术的飞速发展和高等教育体制改革的不断深入,计算机技术已进入网络时代,传统的产品信息管理方法,手段及工作效率已不能适应新的发展需要,无法很好的完成管理工作,提高管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识,同时运用先进的信息技术,开发药店信息管理系统的需求,是深化管理体制改革的有力措施。
建立药店信息管理系统,采用计算机网络对药店产品进行管理,进一步提高办事效益和现代化水平。帮助员工提高工作效率,实现药店信息管理工作流程的系统化、网络化、规范化和自动化。
本系统全称为药店信息管理系统。开发药店信息管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。因此开发一套基于计算机网络的管理系统是很有必要的。 开发环境,主要利用ASP+ACCESS及IIS环境进行开发
开发工具,主要利用Dreamweaver8.0 及Access2003进行开发
本范文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。
ASP(Active 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是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下。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。
杭州萧山慧飞窗帘网
表1 网站前台架构
2.网站后台架构
表2 网站后台架构
3,数据库设计
数据库名:userinfo.mdb
图一(数据库中的所有表)
图二(数据库中的产品表)
图三(数据库中的产品订购表)
图四(数据库中的留言表)
图五(数据库中的用户账号信息表)
图六(数据库中的管理员账号表)
图7(数据库中的新闻表)
第四章 药店信息管理系统的实现
4.1前台模块
图一(网站首页美工设计)
图二(新闻动态发布)
图三(产品动态发布)
4.2.后台模块
.后台管理首页简介
进入后台管理,进行管理员登录(index1.asp),进入管理首页(glzx.asp)。
整个后台分为四个模块:
(1)新闻管理
包括对新闻的添加、修改与删除。
(2)产品管理
包括对产品的添加与修改。
(3)订单管理
包括对订单的确认与删除。
(4)留言管理
包括删除留言内容。
管理员登录界面
图11管理员登陆(admin.asp)
对输入的用户名和密码进行判断代码页面 login.asp:
<%Response.Buffer=True%>
<%
'查看有无该用户
dim db,strsql,rs
set 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" Then
Response.Redirect "houtai.asp"
ELse
Response.Redirect "houtai2.asp"
End If
Else
'如果没有记录,表示没有该用户,请给出提示信息
Response.Write "对不起,用户名或密码有误,请<a href='admin.asp'>返回</a>重新登录"
End If
%>
后台界面
图12超级管理员后台界面(houtai.asp)
图13普通管理员后台界面(houtai.asp)
图13普通用户管理员后台界面(user.asp)
图四(留言版动态发布)
图五(联系我们)
图六(管理员登陆)
第五章、设计总结评价
1.设计总结
整个系统已基本完成,但是由于时间不够充分,还有许多方面不够完善,如有些功能不能运行,功能不齐全等等。
1) 公司简介面页中内容显得有些单簿,在后期工作中还会有所补充。
2) 图片处理得不够美观,而且图片少,在以后会添加。
3)整个版面不是很整齐,以后改进。
2.心得体会
文档设计终于可以告一段落了,完成期间,投入了许多精力,边学边做,积累经验,学会了较多制作网站的知识。当然也让我进一步了解了后台制作,它必需与数据库相连。在以后的阶段里我会在各个方面进一步的完善,使网站更加的美观。
第六章、参考文献
1.《ASP信息化系统建设案例》 人民邮电出版社 陈娴、雒海涛编著
2.《Dreamweaver8+ASP动态网站开发》 电子工业出版社 载一波编著
3.《网站全程设计技术》 清华大学出版社 姜韡、吴涛编著
4.《网站设计与开发》 机械工业出版社 杨晓钟编著
致 谢
在这里我非常感谢我的指导老师刘利东,在经过他的教育下,使我在此完成我的文档设计,在此特向刘老师致谢!谢谢刘利东老师孜孜不倦的教导,以及对我们的重视,让我能顺利地完成这个课程设计。经过一年相处,除了感谢还是感谢。从Dreamweaver到ASP,让你为了费不了少的心思,也费了你不少的时间。谢谢你陪我们走过了一年美好的大学时光,大学时光是美丽的,因为有你的存在。期待再见!
我知道在这次的课程设计中自已有许多的欠缺,在以后的日子中,我一定得更加严格要求自己,改正缺点,不断努力,不断进步。
附 录
亓小磊
2007-05-11
Sign.asp页面源码:
<%option explicit%>
<%
If request.form("user_name")<>""and request.form("password")<>""then
dim db,rs
set 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 then
Response.Write "对不起,用户名已被注册,请<a href='sign.htm'>重新注册</a>"
rs.close
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 db
set db=server.createobject("ADODB.connection")
db.open "dbq="&server.mappath("userinfo.mdb")&";driver={microsoft access driver (*.mdb)};"
dim strsql,Password ,id
Password=request.form("Password")
StrSql="Update user Set Password='" & Password & "'Where user_name='"&session("user_name")&"'"
db.execute(strsql)
response.redirect "login1.htm"
else
response.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,rs
set 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 then
Response.Write "对不起,用户名已被注册,请<a href='sign1.htm'>重新注册</a>"
rs.close
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,rs
set 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 then
Response.Write "对不起,用户名已被注册,请<a href='sign.htm'>重新注册</a>"
rs.close
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,rs
set 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" Then
Response.Redirect "houtai.asp"
ELse
Response.Redirect "houtai2.asp"
End If
Else
'如果没有记录,表示没有该用户,请给出提示信息
Response.Write "对不起,用户名或密码有误,请<a href='admin.asp'>返回</a>重新登录"
End If
%>
Login1.asp页面源码:
<%Response.Buffer=True%>
<%
'查看有无该用户
dim db,strsql,rs
set 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" Then
Response.Redirect "user.asp"
ELse
Response.Redirect "user.asp"
End If
Else
'如果没有记录,表示没有该用户,请给出提示信息
Response.Write "对不起,用户名或密码有误,请<a href='index.asp'>返回首页</a>重新登录"
End If
%>
超级管理员后台界面(houtai.asp)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/coon.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables
If (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
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (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
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim rs1
Dim rs1_numRows
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.ActiveConnection = MM_coon_STRING
rs1.Source = "SELECT * FROM dinggou ORDER BY id DESC"
rs1.CursorType = 0
rs1.CursorLocation = 2
rs1.LockType = 1
rs1.Open()
rs1_numRows = 0
%>
<%
Dim rs2__MMColParam
rs2__MMColParam = "1"
If (Request.QueryString("id") <> "") Then
rs2__MMColParam = Request.QueryString("id")
End If
%>
<%
Dim rs2
Dim rs2_numRows
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.ActiveConnection = MM_coon_STRING
rs2.Source = "SELECT * FROM ly WHERE id = " + Replace(rs2__MMColParam, "'", "''") + " ORDER BY id DESC"
rs2.CursorType = 0
rs2.CursorLocation = 2
rs2.LockType = 1
rs2.Open()
rs2_numRows = 0
%>
<%
' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
Dim rs1_total
Dim rs1_first
Dim rs1_last
' set the record count
rs1_total = rs1.RecordCount
' set the number of rows displayed on this page
If (rs1_numRows < 0) Then
rs1_numRows = rs1_total
Elseif (rs1_numRows = 0) Then
rs1_numRows = 1
End If
' set the first and last displayed record
rs1_first = 1
rs1_last = rs1_first + rs1_numRows - 1
' if we have the correct record count, check the other stats
If (rs1_total <> -1) Then
If (rs1_first > rs1_total) Then
rs1_first = rs1_total
End If
If (rs1_last > rs1_total) Then
rs1_last = rs1_total
End If
If (rs1_numRows > rs1_total) Then
rs1_numR