ASP网页设计使用ASP打造网站论坛DIY -2
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 2、构建1、构建主窗体
先要给出一个窗体,可以让网友输出注册讯息,这些是HTML的内容,且放在一边,我们来细心看看详细完成注册的ASP剧本。
(1)将材料中的单引号改成两个单引号,而且在前后加上单引号
FunctionSqlStr(data)
SqlStr=""&Replace(data,"","")&""
EndFunction
注:这是一个自界说的函数,用来把用户输出中的单引号()转换成两个单引号()。在ASP中,用双引号围着的是字符串,因此下面的""代表的就是只要一个单引号的字符串。之以是要把一个单引号换成两个单引号,这是由于在SQL语句中,用单引号围起来是用来代表变量的。为了不至于搅浑,就要把字符串中的单引号用两个单引号来暗示。而一切的用户输出都要作为变量嵌进到SQL语句中的,以是这个函数是必不成少的。
(2)存贮筹办
id=Request("id")
password=Request("password")
nickname=Request("nickname")
email=Request("email")
sex=request("sex")
注:把来自用户输出窗体中的内容保留在变量中,这不是必需的,但写了更简单读写。
ifRequest("name")=""thenname=""elsename=request("name")
ifRequest("phone")=""thenphone=""elsephone=request("phone")
由于这些内容不是必需填的,为了避免用户没有输出任何内容,而形成数据库操纵上的毛病,就必需把没有填进字段用空格来取代。
(3)创建毗连
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("bbssystem.mdb")
注:这一段是创建数据库毗连,数据库的称号为bbssystem.mdb,这一段中独一要注重的是Server.MapPath函数的使用。一样平常来讲,但凡触及到详细的目次的中央,都不要间接利用目次名,而用Server.MapPath函数来取代。善用好Server.MapPath和Request.ServerVariables()等函数,可以让你的WEB使用具有更好的可移植性。
Setcmd=Server.CreateObject("ADODB.Command")
(4)查询作者是不是已存在
Setcmd.ActiveConnection=conn
cmd.CommandText="查询作者"
ReDimparam(0)声明参数数组
param(0)=CStr(id)Cint不成疏忽
Setrs=cmd.Execute(,param)
注:这一段就是用来实行预存程序的。在ADO中实行查询的办法有良多种,可是关于预存程序就只能利用Command工具了。起首,创建了一个叫做cmd的Command工具,然后把conn毗连工具设定给cmd工具的ActiveConnection属性,把要实行的查询称号"查询作者"设定给CommandText属性,然后为查询参数赋值。我们声了然一个参数数组param(0),由于在"查询作者"这个查询中只要一个参数,以是数组就只要一个份量了。一样平常的,在查询中有几个参数,就要声名有响应份量个数的参数数组。而且参数呈现的按次是个数组平分量的按次是对应的。在利用参数查询的过程当中,特别要注重的是,参数的范例要严厉婚配,否这就会堕落,以是下面的CStr()范例转换函数是不成短少的。
ifnot(rs.eoforrs.bof)then
response.write"毛病,你输出的ID号已被占用,请换一个再尝尝!"
else
sql="InsertInto作者表(id,昵称,Email,暗码,姓名,黉舍,系别,性别,德律风)Values("
sql=sql&SqlStr(id)&","
sql=sql&SqlStr(nickname)&","
sql=sql&SqlStr(email)&","
sql=sql&SqlStr(password)&","
sql=sql&SqlStr(name)&",&","
sql=sql&SqlStr(sex)&","
sql=sql&SqlStr(phone)&")"
conn.Executesql
利用一个SQL的Insert语句把材料拔出到数据库中。实在这一查询也能够做成预存程序放在数据库中,我偷了点懒:-)不外对照之下也能够看到预存程序的优点,实行时查询写起来其实是太贫苦了。
2、构建文章显现模块
后面说过,一片详细的文章是分属在看板和主体之下的。因而显现文章也要经由看板列表和主体列表这两页面后,才干失掉特定主题下文章的列表。
(1)板列表的显现页面:
<html>
<head>
<title>看板列表</title>
<metahttp-equiv="Content-Type"content="text/html;charset=GB2312">
</head>
(2)翻开毗连,显现看板列表
<%Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("bbssystem.mdb")
sql="select*from看板列表"
setrs=conn.execute(sql)
%>
注:复杂的SQL查询,把一切的看板有关讯息传回到记录集RS中。上面的义务就是显现记录记得内容,并在响应的看板称号上创建显现看板主题的毗连。
<bodybgcolor="#FFFFFF">
<h2align="center">看板列表</h2>
<tablewidth="60%"border="0"cellspacing="0"cellpadding="0"align="center">
<trbgcolor="#FFFFCC">
<tdheight="35"width="25%">看板称号</td>
<tdheight="35"width="21%">板主</td>
<tdheight="35"width="23%">主题数</td>
<tdheight="35"width="31%">板主上岸</td>
</tr>
注:这儿一部分是显现出表格中每列的题目,这儿我没有效一个一致的函数来显现RS记录记的内容,由于如许能够对表格的表面微风格做更多的把持,利用起来固然有点贫苦,可是却更加天真。
<%
do
boardid=rs("id")
boardname=rs("称号")
boardmanager=rs("板主")
response.write"<tr><td><ahref=qBoard.asp?boardid="&boardid&"&boardname="&boardname&">"&boardname&"</a></td>"
注:这一行是重点,当点击了各个板的称号后,能够毗连到显现看板主题的页面。程序代码看起来有点贫苦,我分化了给你讲,你就会分明了。在点击以后,扫瞄器哀求利用的是qBoard.asp页面,并带有一个参数boardid,代表要显现看板的ID号,在哀求页面和参数之间用问号(?)分开。Boardid是后面设定了的变量,个中包括的就是对应看板的ID号。这个毗连中还带有别的一个参数boardname,用来把看板称号传送给qBoard.asp页面。在多个参数间利用"&"来分开。这个参数不是必需的,传送已往是为了以免在qBorad.asp中再次用boardid来查询看板称号。一样平常来讲,可以罕用数据库操纵就应该只管的罕用,如许能够进步ASP页面的功能。由于Response.Write语句利用字符串作为参数的,以是下面的字符串和变量之间利用的是"&"联合符。最初ASP页面注释的了局应当是像如许的
<td><ahref=qBoard.asp?boardid=1&boardname=体系板>体系板</a><td>。
response.write"<td><ahref=qAuthor.asp?author="&boardmanager&">"&boardmanager&"</a></td>"
response.write"<td>"&rs("主题数")&"</td>"
response.write"<td><ahref=managerlogin.asp?boardid="&boardid&">板务处置</a></td></tr>"
注:在这个表中,除能够由毗连来显现看板主题的内容,另有一个斑竹查询部分和板务处置部分,版主查询能够是经由过程qAuthor.asp来完成的,它只是复杂的从数据库中掏出作者讯息,并显现出来,这儿就未几说了。而板务处置是由managerlogin.asp页面来处置的。这属于文章审视模块,我在前面再详说。
rs.movenext
loopuntilrs.eof
%>
注:经由过程一个do…loop轮回,把记录会合一切的讯息都显现了出来。
</table>
<divalign="center"><br>
点击看板称号能够失掉主题列表,点击板主称号能够观察板主讯息
</div>
</body>
</html>
<%
setrs=nothing
conn.close
setconn=nothing
%>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
页:
[1]