选择显示字体大小

asp进阶教程:数据库版本的留言簿

  在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留言竟毫不留情地往你脸上抹黑的缘由啦),那么此时其余想对你大发赞赏之言的朋友,就会因为你正在做留言删除的操作而不能留言了。看,这有多可惜!不过,你也无须叹气,虽然留言文件不能供多人共用,但是改成数据库来管理留言记录,当你在做删除留言的期间,访问者的留言还是可以加进来的。既然数据库留言簿能对你的系统如此照顾入微,我们现在就事不宜迟,立即来揭开她的庐山真面目。


  至于如何建立自已的数据库版本的留言簿,我们还是通过分步骤的方法来说明吧。要编写一个数据库版本的留言簿,我们大致可以从以下三个步骤来完成。

步骤一:使用access先建立用来存放留言的数据表。(当然,如果你想使你的数据库能很好地工作在高需求、高质量的web应用程序的客户-服务器数据库,而且无论是在性能还是在可靠性上都能经受得起严格的考验,那么你最好是用服务器等级的数据库,如:sql server、oracle等。对于非服务器等级的数据库,我推荐使用access中文版来建立。凡是用access来建立的数据表,都是以.mdb为后缀名,如:book0.mdb。)

  access的界面非常友好,操作也非常简便,相信聪明的读者们,即使以往从未用过access的,只要动手试试,也定能很快对其驽驾自如,所以我在这里也就不再赘述(当然也不排除有那么几分懒惰的成份)。

步骤二:设计一个留言表单的网页也同样是不可或缺的。(如:guestbook0.htm)。  
步骤三:又到编写处理留言的asp程序了。(我们可以将下述代码copy下来,然后另存为manage0a.asp文件。)
$#@60; !--#include file="adovbs.inc" --$#@62;
调用adovbs.inc文件,所谓inc 文件顾名思义是include file的意思,adovbs.inc是iis/pws所提供的文件,存放着ado相关常数的定义,使用inc文件可以使我们的程序,增加可读性,更易于开发和维护。
$#@60; % function sqlstr( data )
sqlstr = "" & replace( data ", "" ) & ""
end function
这里用了sqlstr函数,其作用是将数据中的一个单引号改成两个单引号,并且在前后加上单引号。之所以要用该函数是由于上网者输入的数据必须以用单引号括起来的形式输入的数据与insert into命令组合在一起,但是如果用户输入的数据含有单引号,则输入的数据将会产生错误,因此输入的数据必须经过sqlstr的切换(将单引号切换成两个单引号)才是正确的。
name = request("name")
tel=request("tel")
email = request("email")
subject = request("subject")
memo = request("memo")
从留言表单取得数据
if name = "" or tel="" or email = "" or subject = "" or memo = "" then response.write "输入框不能为空白!"
response.end
end if
检查表单的各输入框是否有信息输入,若留有空输入框没填则显示说明信息:"输入框不能为空白!" 并停止执行下面的程序。
set conn = server.createobject("adodb.connection")
用server.createobject取得对象adodb.connection。因为在asp中,如果要访问数据必须首先创建与数据库的链接,因此建立连接是存取web数据库不可缺少的步骤,执行以上语句之后,conn便是一个connection对象。
dbpath = server.mappath("book0.mdb")
通过调用服务器对象的mappath方法来获取book0.mdb的完整路径。
conn.open "driver={microsoft access driver (*.mdb)};dbq=" & dbpath
因为我们想打开的是access(.mdb)数据库,所以我们要透过access的odbc驱动程序{microsoft access driver (*.mdb)}来存取数据库,dbp参数则是用来指定想打开的数据库文件,因为它必须是完整路径名称,所以我们上一语句用了server.mappath 函数 。
name = left( name, 40 )
tel = left(tel,10)
email = left( email, 80 )
subject = left( subject, 127 )
截短输入到各字段里数据的长度,以避免因输入到某一字段中的数据超长而引发的错误,当然假如我们将数据库book0.mdb中的各字段的数据类型都有设为“备注”,我们则再无需担心上网者所输入的数据有多长。
sql = "insert into guestbook (姓名, 电话, email, 主题, 留言) values( "
sql = sql & sqlstr(name) & ", "
sql = sql & sqlstr(tel) & ", "
sql = sql & sqlstr(email) & ", "
sql = sql & sqlstr(subject) & ", "
sql = sql & sqlstr(memo) & ")"
在"guestbook"数据表中增加一个数据记录,然后把其中的各字段 (姓名, 电话, email, 主题, 留言)分别设置成从留言表单上取下的对应的数据。
conn.execute sql
执行sql指令。
%$#@62;


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons