|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;团体主页|办理|数据|数据库 现在,CGI日渐式微,ASP年夜行其道,年夜有取而代之之势。对团体主页制造者而言,CGI也的确太庞大了,特别是在数据库的操
作上,繁复非常让人望而却步。相较而言,ASP则复杂很多。其面向工具的头脑,将庞大的底层操纵掩饰,只留下复杂的挪用接
口。对数据库的操纵更是将它的长处表现得极尽描摹。
本文将复杂先容在团体主页中使用ASP毗连数据库,完成静态网页。信任您在读完本文后,您的主页将加倍出色。
1.在ASP中查询ACCESS数据库
ASP能让我们用复杂的办法在网页中查询、更新数据库。上面将给出的例子用的是MSACCESSDATABASE,可是其操纵的道理却
可一样地使用在任何撑持ODBC的数据库上。(之以是选择ACCESS,是由于它简单操纵,且被普遍利用,对年夜多半的中小型项目而
言,ACCESS无疑是最好的选择。)
先用ACCESS创建一个数据表以下:
用户编号姓名乡村德律风号码
1张三武汉027-84713858
2李四北京010-99581426
3王五上海021-85541253
再请看上面的一段例子:
<%
SETDBCONNECTION=SERVER.CREATEOBJECT(“ADODB.CONNECTION”)
DBCONNECTION.OPEN“DSNNAME”
SQLQUERY=“SELECT*FROMCUSTOMERS”
SETRECUSTIONMERLIST=DBCONNECTION.EXECUTE(SQLQUERY)
%>
<CENTER>
<TABLEBORDER=1>
<%DOWHILENOTRECUSTOMERLIST.EOF%>
<TR>
<TD><%=RECUSTOMERLIST(“客户编号”)%></TD>
<TD><%=RECUSTOMERLIST(“姓名”)%></TD>
<TD><%=RECUSTOMERLIST(“乡村”)%></TD>
<TD><%=RECUSTOMERLIST(“德律风号码”)%></TD>
</TR>
<%RECUSTOMERLIST.MOVNEXTLOOP%>
</TABLE>
</CENTER>
能够看到,ASP的语法是VBSCRIPT,其面向工具的头脑也与VB相相似,以是,只需您初通VB大概VBSCRIPT,那ASP能够很简单
地上手。
下面的一部分能够说是ASP中ADO的精华地点,上面我们会商一下代码的内容<%和%>是ASP代码的入手下手和停止标记。服务器在
前往用户哀求时,先将<%和%>中的内容注释成为尺度的html代码,再将它发送到客户扫瞄器。存取数据库时,起首要创建毗连,
也就是声明一个CONNECTION类的实例(工具),然后使用CONNECTION类的OPEN办法,将毗连工具毗连到一个ODBC数据源上,在上例
中就是DSNNAME,这是一个DSN。至于甚么是DSN,前面将有先容,在此先按下不表。到此,数据库的毗连就已完成了,上面要进
行的是数据库的操纵。
操纵也是很复杂的,先界说一个SQL语句字串,然后挪用CONNECTION的EXECUTE办法实行,实行的了局贮存在一个RECORDSET类
(能够当作是一个一时寄存数据的表)的工具中,在上例中是RECUSTOMERLIST。如许,数据库的查询挪用也就完成了,再只需将它输
出便可。
在DOWHILE...LOOP的轮回中输入时,挪用ASP中RESPOND工具的WRITE办法,一样平常能够简写为“=”。而语句
RECUSTOMERLIST(字段名)前往的是以后记录对应字段的值。最初挪用的是RECORDSET类的MOVENEXT办法,将记录指针移到下一个
记录,重复实行,直到RECUSTOMERLIST的EOF(文件尾)为真。如许,就将前往的查询了局输入了。
下面所讲的只是一点ASP数据存取的基础常识,但我们已可略窥ASP壮大的功效。
2.如今我们能够经由过程ASP来存取数据库,完成静态效果。但另有一个成绩:如今供应ASP撑持的团体收费网页,年夜多半其实不供应
数据库的撑持。也就是说,你没法在它的数据库体系中创建并具有本人的数据库。若用当地数据库,你也没法设置服务器主机中的
ODBC,没法失掉你当地数据库的DSN,也就不克不及经由过程ASP来存取数据库了。怎样办理这个成绩呢?上面的会商将给出一个复杂的方
法,那就是FILEDSN。
起首注释几个名词
DSN:依据MICROSOFT的官方文档,DSN的意义是“使用程序用以哀求一个连到ODBC数据源的毗连(CONNECTION)的名字”,换句
话说,它是一个代表ODBC毗连的标记。它埋没了诸如数据库文件名、地点目次、数据库驱动程序、用户ID、暗码等细节。因而,当
创建一个毗连时,你不必往思索数据库文件名、它在哪儿等等,只需给出它在ODBC中的DSN便可。
FILEDSN:当我们会商这个成绩时,先看看其他的DSN范例
SYSTEMDSN:这类DSN能够被任何登录到体系中的用户利用。
USERDSN:这是为特定用户创建的DSN。只要创建这个DSN的用户才干看到并利用它。在下面的两种情形中,DSN的细节都贮存
在体系的注册表中。
晓得了下面的准备常识后,让我们来看看甚么是FILEDSN。FILEDSN将DSN的细节内容存贮在一个文件中,而不是存贮在系
统注册表中。这个文件是复杂的文本文件,用.dsn作为扩大名。
固然这听起来挺复杂,但你必要晓得那些构成DSN文件的参数。上面给出一个复杂的用来存取ACCESS的DSN文件,
----file.dsn----
[ODBC]
DRIVER=MicrosoftACCESSDriver(*.mdb)
ReadOnly=0
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=MSACCESS
DriverId=25
将它定名为file.dsn,固然,你可依据你的乐意更名。
创建了这个文件后,事情已完成了一半。上面的事情是创建一个毗连。当用一个SYSTEMDSN时,创建毗连只需复杂地援用
SYSTEMDSN:
conn.open“mydsn”(conn是毗连工具的名字)
当使用如上的FILSDSN时,你必要到场更多的参数来讲明。
Conn.open“filedsn=c:webdirfile.dsn;DBQ=c:DATABASEmydb.mdb;UID=admin;PWD=admin;”
C:webdir是.dsn文件地点的目次,它必要用文件的物理路径。你能够用SERVER.MAPPATH办法来失掉。如Server.MapPath
(“/mysite/file.dsn”)。一样,关于DBQ参数也需云云。UID和PWD参数是可选的。
简而概之,要创建一个可重用的FILEDSN
1)用DSN参数创建一个以dsn为扩大名的文本文件。
2)用FILEDSN和DBQ参数创建毗连,你能够用SERVER.MPAPATH来失掉物理路径。
3)只需变动DBQ、UID和PWD参数,便可将这个FILEDSN用就任何ACCESS数据库上。
必要注重的是,对其他非ACCESS范例的数据库必要使用分歧的参数值和一些附加的参数。(武汉Netwalker)
</p>大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|