ASP技术在交互式网页设计中的运用毕业论文
三、ASP在电子商务中的应用
在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于商品或服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务器的后端数据库是许多Web服务提供者必需有的服务,ASP通过内置的ADODB组件来实现这一功能。可以使用ADO去编写紧凑简明的脚本以便连接到ODBC 兼容的数据库和 OLE DB 兼容的数据源。具体的操作步骤可以归纳为以下几步:
① 创建数据库源名(DSN) ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名)。打开Windows的"控制面板",双击"ODBC"的图标,然后选择"文件 DSN "的属性页,单击<添加>,选择数据库驱动程序,然后单击"下一步",按照屏幕的指示键入数据源文件的名称,然后单击"下一步",再单击"完成"创建数据源。
②创建数据库链接 链接用以保持一些关于正在访问的数据的动态信息,以及链接者信息。利用ADODB的成员函数Open和先前设定的DSN与数据库连接,其语法如下: SetConnect=Server.CreateObject("ADODB.Connection") '创建了链接对象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password") '打开链接。dsnname为数据源名;userID为用户名;password为用户口令。
③创建数据对象 ADO中的数据对象通常保存的是查询结果。RecordSet 是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下: Set RecordSet =Connect.Execute(sqtStr) '创建并打开了对象RecordSet ,sqtStr是一个串,代表一条标准的SQL语句。例如: sqlStr="SELECT*FROM b1" Set RecordSet =Connect.Execute(sqlStr) 这条语句执行后,对象RecordSet中就保存了b1中的所有记录。
④操作数据库 可利用Execute方便地执行数据的插入、修改、删除等操作。如执行插入操作: sqlStr="Insert Into b1Values(1,2)" Connect.Execute(sqlStr)
⑤关闭数据对象和链接 在使用了ADO对象之后,一定要关闭数据对象和链接。在ASP中通过调用方法close实现关闭。 关闭创建的数据对象:Record Set .close Set Record Set=Nothing 关闭创建的链接对象:Connect. close Set Connect=Nothing 完整的程序片段:
//产生组件实例
<% SetConnect=Server.CreateObject("ADODB.Connection")
//连接数据库
Connect.Open("DSN=dsnname;UID=userID;PWD=password")
//执行查询
SQL=select*fromtablename SetRS=Connect.Execute(SQL) %>
//显示结果
<%DoWhile Not RS.EOF%>
<%=RS(fieldname)%> <% Rs.MoveNext Loop %>
上述是用ASP访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上ASP强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。
四、主要功能程序段
4、1 打开数据库
option explicit
dim conn,connstr,db,rs
db="database/#MyShop.mdb" //数据库路径
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
4.2 数据库查询操作
//大类查讯
set rs=server.CreateObject("adodb.recordset")
//只读方式打开
rs.open "select anclass,anclassid from anclass",conn,1,1
do while not rs.eof
response.write "<A href=javascript:turnX('r"&rs("anclassid")&"')>"
&trim(rs("anclass"))&"</A> "
rs.movenext
loop
rs.close
//小类查询
dim rs2
set rs2=server.CreateObject("adodb.recordset")
rs2.open "select nclass,nclassid from nclass where anclassid="&rs("anclassid")&" order by nclassidorder",conn,1,1
do while not rs2.eof
response.write "<A href=class.asp?aid="
&rs("anclassid")&"&nid=