透明 发表于 2015-1-16 22:16:03

ASP网页设计ASP进阶教程:数据库版本的留言簿

对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。教程|数据|数据库在后面我们先容了文件版本的留言簿,如今我们无妨来假想一下:假如留言文件内里的留言良多,而你又急于想寻觅个中的某条留言时,这时候翻开txt留言文件,对着一段段的留言纪录,你敢包管你不会就地晕倒吗?并且文件留言簿最使人厌恶还远不但是这个缘故原由,更气人的是:比如你已找到了你要找的留言,并且长短要将其删除不成(固然是由于那段留言竟绝不包涵地往你脸上争光的启事啦),那末此时其他想对你年夜发欣赏之言的伴侣,就会由于你正在做留言删除的操纵而不克不及留言了。看,这有多惋惜!不外,你也不必叹息,固然留言文件不克不及供多人共用,可是改成数据库来办理留言纪录,当你在做删除留言的时代,会见者的留言仍是能够加出去的。既然数据库留言簿能对你的体系云云照应进微,我们如今就当务之急,当即来揭开她的庐山真脸孔。

  至于怎样创建自已的数据库版本的留言簿,我们仍是经由过程分步骤的办法来讲明吧。要编写一个数据库版本的留言簿,我们大抵能够从以下三个步骤来完成。

步骤一:利用Access先创建用来寄存留言的数据表。(固然,假如你想使你的数据库能很好地事情在高需求、高质量的Web使用程序的客户-服务器数据库,并且不管是在功能仍是在牢靠性上都能承受得起严厉的磨练,那末你最好是用服务器品级的数据库,如:SQLServer、Oracle等。关于非服务器品级的数据库,我保举利用Access中文版来创建。但凡用Access来创建的数据表,都是以.mdb为后缀名,如:book0.mdb。)

  Access的界面十分友爱,操纵也十分烦琐,信任伶俐的读者们,即便以往从未用过Access的,只需下手尝尝,也定能很快对其驽驾自若,以是我在这里也就不再赘述(固然也不扫除有那末几分怠惰的成分)。

步骤二:计划一个留言表单的网页也一样是不成或缺的。(如:guestbook0.htm)。 
步骤三:又到编写处置留言的ASP程序了。(我们能够将下述代码COPY上去,然后另存为manage0a.asp文件。)
$#@60;!--#includefile="adoVBs.inc"--$#@62;
挪用adovbs.inc文件,所谓inc文件望文生义是includefile的意义,adovbs.inc是IIS/PWS所供应的文件,寄存着ADO相干常数的界说,利用inc文件可使我们的程序,增添可读性,更容易于开辟和保护。
$#@60;%FunctionSqlStr(data)
SqlStr=""&Replace(data","")&""
EndFunction
这里用了SqlStr函数,其感化是将数据中的一个单引号改成两个单引号,而且在前后加上单引号。之以是要用该函数是因为上彀者输出的数据必需以用单引号括起来的情势输出的数据与InsertInto命令组合在一同,可是假如用户输出的数据含有单引号,则输出的数据将会发生毛病,因而输出的数据必需经由SqlStr的切换(将单引号切换成两个单引号)才是准确的。
Name=Request("Name")
Tel=Request("Tel")
Email=Request("Email")
Subject=Request("Subject")
Memo=Request("Memo")
从留言表单获得数据
IfName=""OrTel=""OrEmail=""OrSubject=""OrMemo=""ThenResponse.Write"输出框不克不及为空缺!"
Response.End
EndIf
反省表单的各输出框是不是有信息输出,若留有空输出框没填则显现申明信息:"输出框不克不及为空缺!"并中断实行上面的程序。
Setconn=Server.CreateObject("ADODB.Connection")
用Server.CreateObject获得工具ADODB.Connection。由于在ASP中,假如要会见数据必需起首创立与数据库的链接,因而创建毗连是存取Web数据库不成短少的步骤,实行以上语句以后,conn即是一个Connection工具。
DBPath=Server.MapPath("book0.mdb")
经由过程挪用服务器工具的MapPath办法来猎取book0.mdb的完全路径。
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
由于我们想翻开的是Access(.mdb)数据库,以是我们要透过Access的ODBC驱动程序{MicrosoftAccessDriver(*.mdb)}来存取数据库,dbp参数则是用来指定想翻开的数据库文件,由于它必需是完全路径称号,以是我们上一语句用了Server.MapPath函数。
Name=Left(Name,40)
Tel=Left(Tel,10)
Email=Left(Email,80)
Subject=Left(Subject,127)
截短输出到各字段里数据的长度,以免因输出到某一字段中的数据超长而激发的毛病,固然假设我们将数据库book0.mdb中的各字段的数据范例都有设为“备注”,我们则再无需忧虑上彀者所输出的数占有多长。
sql="InsertIntoGuestBook(姓名,德律风,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.Executesql
实行sql指令。
%$#@62;因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。

柔情似水 发表于 2015-1-17 12:12:52

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

爱飞 发表于 2015-1-20 18:50:12

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

灵魂腐蚀 发表于 2015-1-29 14:57:39

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

蒙在股里 发表于 2015-2-6 02:20:49

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

若天明 发表于 2015-2-15 01:36:05

不能只是将它停留在纸上谈兵的程度上。

飘飘悠悠 发表于 2015-3-4 10:54:04

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

再见西城 发表于 2015-3-11 18:36:50

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

金色的骷髅 发表于 2015-3-19 07:48:58

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

第二个灵魂 发表于 2015-3-27 15:09:49

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
页: [1]
查看完整版本: ASP网页设计ASP进阶教程:数据库版本的留言簿