1、ASP.NET网站新闻管理系统设计和实现 「摘要」利用ASP.NET和ADO.NET技术开发网站新闻管理系统,实现了网站新闻动态管理,使得对信息管理愈加立即、高效,提升了工作效率。同时对系统开发原理、系统功效特点和设计方案进行了介绍。 「关键词」ASP.NET ADO.NET 新闻 管理 数据库 伴随Internet普及,越来越多企业建立了自己WWW网站,企业经过网站能够展示产品,公布最新动态,和用户进行交流和沟通,和合作伙伴建立联络,和开展电子商务等。其中新闻管理系统是组成企业网站一个关键组成部分,它担负着双层作用,首先能够用来动态公布相关新产品或新开发项目,其次又能够立即
2、向用户公告企业经营业绩、技术和研发进展、尤其推荐或优惠工程项目、产品和服务,从而吸引用户,扩大用户群。 传统网站新闻管理方法有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改对应链接,这种方法因为效率太低已不多用。二是基于ASP和脚本语言,将动态网页和数据库结合,经过应用程序来处理新闻,这是现在较为流行做法。不过因为ASP本身不足使得系统有部分不可克服缺点,而采取了ASP.NET技术系统性能上有了很大改善,其关键表现在以下几方面: 1.因为ASP页面每次打开全部必需经过先编译后解释过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译
3、后不需要重新编译,直到该页面被修改或Web应用程序重新开启。这使得在数次访问时速度有了极大提升。 2.因为ASP没有提供任何输出数据为内容元件,所以在使用ASP撰写数据库页面时只能借助ADORecordSet对象逐笔读取统计,而ASP.NET经过ADO.NET提供DataGrid等数据库元件能够直接和数据库联络。 3.ASP.NET支持应用程序实时更新。管理员无须关掉网络服务器或甚至不用停止应用程序运行就能够更新应用文件。应用程序文件永远不会被加锁,所以甚至在程序运行时文件就能够被覆盖。当文件更新后,系统会温和地转换到新版本。 4.ASP.NET采取“code-behind”
4、方法编写代码使得代码更易于编写,结构更清楚,降低了系统开发和维护复杂度和费用。 1系统开发原理 1.1 基于ASP.NET技术系统结构模型 ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,图1所表示。 图1 ASP.NET系统结构模型 UI层负责和用户交互,接收用户输入并将服务器端传来数据展现给用户。 业务逻辑层负责接收浏览器传来请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web服务和组件服务组成。其中Web表单是ASP.NET应用程序关键所在,它是向用户展现数据和信息基础,也是响应和处理用户和显示Web表
5、单交互生成信息和数据基础。 数据层是经过ADO.NET操纵数据为事务逻辑层提供数据服务,如存放数据操作结果、返回数据检索结果等。 1.2 ADO.NET访问数据库原理 和数据库相连,ADO.NET提供了以下3种方法:经过ODBC相连;经过OLEDB相连;直接和SQL Server相连。3种方法因为应用层次差异,使得效率由低到高,独立性由高到低。对于相连数据库数据处理,也有2种方法,即一个是经过DataSet来隔离异构数据源,另一个是以流方法从数据源读取(DataReader方法)。 传统应用程序是经过先建立到数据库连接,在程序整个运行过程中维护连接方法来设计。ASP.N
6、ET采取了断开连接方法数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。 ADO.NET另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图高速缓冲区。数据集对数据源一无所知,它们能够由程序或经过从数据仓库中调入数据而被生成、填充。不管数据从何处获取,数据集全部是经过使用一样程序模板而被操作,而且它使用相同潜在数据缓冲区。 2 系统功效设计 2.1 系统功效结构 该新闻管理系统能够在Windows Server操作系统平台上运行,Web服务器为IIS,数据库服
7、务器为Microsoft SQL Server,开发工具采取Microsoft Visual Studio .NET和DreamWeaver.图2给出系统功效结构图。其工作步骤为:用户登录经过权限判定,一般用户只能浏览、阅读和查询新闻,注册用户除了能够完成一般用户操作外,还能够进入新闻管理模块进行新闻录入、修改和删除操作。注册用户除系统管理员外只能对自己录入新闻进行删改操作。 2.2 系统功效特点 (1)操作简单、界面友好:完全控件式页面布局,使得新闻录入工作更简便;很多选项包含新闻类别、起源部门等只需关键点击鼠标就能够完成;另外,跟踪出现提醒信息也让用户随时清楚自己操作情况。
8、 (2)即时可见:对新闻处理(包含录入、修改、删除)将立即在主页对应栏目显示出来,达成“即时公布、即时见效”功效。 图2 系统功效结构图 (3)功效完善:包含常见网站新闻管理各个方面:新闻录入、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻管理要求。 (4)方便移植:针对不一样企业,只需要稍作修改就能够开发出适合本企业特点网站新闻管理系统! 3 系统具体设计 系统关键功效是经过多个功效模块来实现。具体设计过程以下: ⑴ 系统登录:该模块负责将用户分为一般用户和注册用户来实现用户权限管理。 ⑵ 新闻浏览:该模块负责分页列出网站全部新闻信息,包
9、含标题、类型、起源部门字段及公布日期,每条新闻标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读。 ⑶ 新闻阅读:在其它页面中点击标题链接即进入新闻阅读页面,此时,每条新闻具体信息将被取出,包含内容、标题、关键字等,并按摄影对固定格式放置在页面不一样区域,全部新闻使用大致相同页面布局,只是各字段对应内容不一样而已,另外,页面其它位置,能够动态放置其它元件,如网站标志logo、页面广告banner等链接图片,这么能够很轻易地实现图文并茂阅读效果。 ⑷ 新闻查询:该模块提供了新闻查询功效,输入待查找内容及选定分类信息能够快速地找到符合条件新闻,并输出查询结果。 ⑸ 新闻管理:
10、该模块负责分页罗列登录注册用户曾公布过且未删除新闻信息,用户能够对该条新闻进行删除、修改。非新闻公布者除系统管理员外不含有对该条新闻处理权限,所以不一样用户进入此页面将显示不一样内容。 ⑹ 新闻录入和修改:注册用户录入一条新闻所需要内容,包含标题、关键字、类型、起源部门、公布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保留。该模块还负责编辑状态下更新,这时,它将依据取得Title字段值对页面控件初始化。 下面以系统登录页面编写为例给出关键事件和函数,说明该系统开发过程。 //IsRegUserOk函数:判定用户是否已经注册和密码是否正确 public bo
11、ol IsRegUserOk() { string name=TextBoxName.Text.Trim(); string pwd=TextBoxPassword.Text.Trim(); //建立/打开数据库连接 SqlConnection conn=new SqlConnection(); conn.ConnectionString=“server=(local);uid=sa;pwd=;database=jxdb”; conn.Open(); //建立sql字符串 string sql=“select * from reg wher
12、e name='”+name+“'”; SqlDataReader dr; SqlCommand cmd=new SqlCommand(sql,conn); dr=cmd.ExecuteReader(); //保留用户注册是否信息 bool isRegUserExist=dr.Read(); //关闭DataReader dr.Close(); //取得用户名密码 string sqlBoth=“select * from reg where name='”+name+“'”; sqlBoth+=“and pwd='”+pwd+“'”
13、 SqlCommand cmdBoth=new SqlCommand(sqlBoth,conn); SqlDataReader drBoth; drBoth=cmdBoth.ExecuteReader(); //保留用户名+密码同时存在信息 bool isBothExist=drBoth.Read(); //关闭DataReader drBoth.Close(); conn.Close(); //判定用户是否注册 if(!isRegUserExist) { Response.Write(“ ASP制作学生档案管理系统 摘要:本系统是依据现代化校园发展而设计基于ASP学生档案管理系统,本系统能够方便老师、家长来学校查找学生。实现全校学生信息在线查询。还能够对新来学员信息进行信息录入。因为学员上课情况复杂,能够实现信息修改,立即调整学员基础情况。 关键字 ASP 在线查询 信息录入 信息修改 一、制作数据库和建立数据源 1、利用Microsoft Access 制作数据库,取名为information,然后制作表,表名为infor.下面写入数据字段。图所表示: 2、建立ODBC数据源(在 profes
37、sional 系统中建立) 步骤: 控制面板à管理工具àODBC数据源à系统DSNàAdd…。 ODBC界面 二、系统界面 一个好系 统需要一个友好用户界面。因为本系统是基于ASP开发,所以,我们利用网页制作工具制作友好用户界面。部分界面图所表示: 进入界面 信息录入界面 三、程序实现 因为本系统是基于ASP开发实现在线操作系统。所以,本系统完成需要借助HTML,又因为HTML是网页编程基础,所以,在这里就省去HTML代码,相信大家全部是HTML高手。 1、信息录入 <% dim strsql,rs s
38、et conn=createobject(“ADODB.connection”) //建立ADODB连接 conn.open (“DSN=information;UID=;PWD=;”) //打开数据源information set rs=createobject(“ADODB.Recordset”) //建立统计对象rs rs.open “infor”,conn,3,3 //打开数据库里infor表 rs.Addnew //添加一条新统计 rs(“name”)。value=request.form(“name”) /*取得表单名为 name里内容“送” 到
39、数据库name统计里(备注:表单名是信息录入界面里提醒信息是“姓名”表单域名字,以下类似)*/ rs(“sex”)。value=request.form(“sex”) rs(“birth”)。value=request.form(“birthday”) rs(“zzmm”)。value=request.form(“zz”) rs(“teach”)。value=request.form(“teach”) rs(“xl”)。value=request.form(“xl”) rs(“class”)。value=request.form(“class”) rs
40、school”)。value=request.form(“school”) rs(“add”)。value=request.form(“add”) rs(“tel”)。value=request.form(“tel”) rs(“hy”)。value=request.form(“mar”) rs(“jg”)。value=request.form(“addr”) rs(“career”)。value=request.form(“career”) rs(“date”)。value=request.form(“time”) rs(“school”)。val
41、ue=request.form(“school”) rs.Update //保留数据库里统计 Response.Write (“你已经成功注册这位学员信息。请继续注册 ”) //显示提醒信息 rs.close //关闭数据统计 conn.close //关闭连接 set rs=nothing set conn=nothing %> 2、信息查询 <% dim strsql,conn,rs set conn=server.createobject(“ADODB.connection”)
42、 conn.open (“DSN=information;UID=;PWD=;”) set rs=server.createobject(“ADODB.Recordset”) strsql=“select * from infor where name= '” & request(“name”) &“'”//利用SQL建立查询 rs.open strsql,conn %>
姓名 |
性别 |
出生年 |
学历 |
<专业 |
班级 |
班主任 |
联络电话 |
联络地址 |
||
<%=rs(“name”)%> |
/*输出数据库中符合条件name字段值*/
<%=rs(“sex”)%> |
<%=rs(“birth”)%> |
<% 47、rs(“xl”)%> |
<%=rs(“zzmm”)%> |
<%=rs(“career”)%> |
<%=rs(“class”)%> |
48、2”><%=rs(“teach”)%> |
<%=rs(“date”)%> |
<%=rs(“tel”)%> |
<%=rs(“add”)%> |
50、ame&“'” //建立SQL查询 rs.open strsql,conn,3,3 %>