你好,欢迎访问远方教程PC版!
广告位招租

ASP数据篇:3.1 在ASP中使用数据库(第2页)

[日期:2014-11-08]   来源:远方教程  作者:远方教程   阅读:3644次[字体: ] 访问[旧版]
 捐赠远方教程 

  那么,我们就有如下字段的内容:ProductID, SKU, Name, 和File。你的表很可能会有许多额外的字段内容,可能包含很多东西,如价格或者是产品(商品)描述。但是这个示意图可以给你提供最基本的数据库表的概念。

  填写recordset内容
  使用recordset是非常容易的一件事情。如果你想要循环浏览数据库,并将所有的信息都打印到屏幕上显示,你可以按照下面来操作:

 While NOT objRec.EOF
\\\\\\\’ says to do this as long as we haven\\\\\\\’t reached the end of the file
  Response.WriteobjRec("ProductID") & ", "
  Response.WriteobjRec("SKU") & ", "
  Response.WriteobjRec("Name") & ", "
  Response.WriteobjRec("File") & "<BR>"
  objRec.MoveNext
  Wend ; 
  即使你没有如此使用过loop,你仍然可以通过阅读这个代码来将信息写到comma-delimited字符串里,并且当数据库表中创建了一个新行的时候,就重新创建一个新的行,来记录表中的那一行。你可以使用同样的方法将数据写到HTML表格中去。通过使用Response.Write添加你的TABLE标签,需要记住以下几点:

你的HTML 标签和引号中的内容。
如果你的标签或者内容使用了引号,注意使用双引号:
<FONT SIZE=""+2"">.
使用&来连接变量和HTML/内容信息
选择recordset中的字段
假设我们的products数据库同样包含一个叫OS的字段,假设这个字段是一个平台分界符。同样,让我们假设存储在这个字段的数据只能是如下的数据:Windows NT, Windows 95, Windows 98, Windows, Mac, Unix, 或者 Linux。

  下面,我们就可以确认我们需要将哪个字段打印到屏幕上,而要忽略哪些那些字段。或者,我们可以选择哪些字段用一种格式,而另外的字段用其它的格式,如,使用不同的颜色。

  使用一个简单的If...,循环就可以给我们提供更多的数据库控制权利。首先让我们来打印有关Windows NT产品的记录:

<TABLE BORDER=0 WIDTH=600>

<TR><TD COLSPAN=4 ALIGN=CENTER><FONT SIZE="+1"<<B>Windows NT Products</B></FONT></TD></TR>

<%
  While NOT objRec.EOF

  If objRec("OS") = "Windows NT" THEN \\\\\\\’ specifies the criteria

Response.Write "<TR><TD BGCOLOR=""#FFFF66"">" & objRec("ProductID") & "</TD>"
Response.Write "<TD>" & objRec("SKU") & "</TD>"
Response.Write "<TD>" & objRec("Name") & "</TD>"
Response.Write "<TD>" & objRec("File") & "</TD></TR>"

  end if
  objRec.MoveNext
  Wend

%>
</TABLE>
添加一个记录
  一旦你开始使用recordset和ASP了,你就会十分希望能够通过网络将数据添加到数据库中去。添加内容是非常重要的,如,当你需要你的网页浏览者留下它们的观点和看法,或者,当你想要进行管理更新的时候。

  下面的代码打开了一个recordset,这个recordset是有关一个有着书本和它们作者名字的数据库表格。你可能曾经看到过这个,但是这次,最后三个说明书定义的指针类型是不同的:adOpenStatic, adLockOptimistic, adCmdTable:

<%   \\\\\\\’ database connection already made; code not shown here
Set objRec = Server.CreateObject ("ADODB.Recordset")
  objRec.Open "books", bookdb, adOpenStatic, adLockOptimistic, adCmdTable
%>

  (如果你没有使用adovbs.inc的复制文件,第三行应该为:objRec.Open "books", bookdb, 3,3,2).

  recordset现在就准备好接收数据了,你只需要告诉它添加什么。在这个情况下,假设我们从表格中取出变量:strBookTitle和strBookAuthor。我们的table, books有两个字段,称作Title 和 Author,所以我们可以通过使用下面的语句来添加一个新的记录:

<%
objRec.AddNew
  ObjRec("Title") = strBookTitle
  objRec("Author") = strBookAuthor
  objRec.Update
%>

  strBookTitle和strBookAuthor代表值,通常被用户访问。如果你只是想测试add功能,你可以给title和author添加一个变量――只是需要记住使用引号。在你第一次使用它的时候,你可能会立即打开你的数据库,以确保更新的发生。

Recordset类型
  在显示的objRec.Open例子中,你会发现在末尾有0,1,2的字样。这些数字代表不同的指针类型。你是用的类型依赖于你将使用它来干什么。例如,如果你不需要修改或增加任何的记录,你可以使用一个Lock类型。而当你计划要修改或者更新数据库的时候,你所选择的类型就会不同。

0,1,2 实际上代表:

adOpenForwardOnly, adLockReadOnly, adCmdTable

  当然,如果在你的服务器上已经有了adovbs.inc的备份,那么,你也可以不使用数字,直接使用这些单词。adovbs.inc 包括了这三个常量和其它常量的一个列表。

第1页 第2页
图片展示
 
相关评论
站长推荐