javascript asp教程Recordset记录

Recordset is another created/instanciated Object. It is a collection of data taken from a database. Recordset has 26 properties, 25 methods, 11 events, and two (2) collections. The vast majority of Recordset is beyond the scope of this web site.

Quick Aside:

The database we are using for lesson 16 and lesson 17 is an MS Access 2000 file (not the best database for large sites). The file is called htmlColor.mdb and it has a single Table called colorChart. The database Table has three columns and they are called ID, colorName, and hexValue.

The illustration below shows how we will cycle through these records.
































ID colorName hexValue
1 Aqua 00FFFF
2 Beige F5F5DC
3 Crimson DC143C
4 Darkviolet 9400D3
5 ForestGreen 228B22


























ID colorName hexValue
1 Aqua 00FFFF
2 Beige F5F5DC
3 Crimson DC143C
4 Darkviolet 9400D3
5 ForestGreen 228B22


























ID colorName hexValue
1 Aqua 00FFFF
2 Beige F5F5DC
3 Crimson DC143C
4 Darkviolet 9400D3
5 ForestGreen 228B22

In this example we cycle through the records row by row. We will use the MoveNext() Method to go from record #1 to #2, etc. Then, we will access specific data in each row by using the column name.

Get Started:

Below is the script for Lesson 17. It's exactly the same as the script for lesson 16. The difference is that we will focus on those lines of code that deal with Recordsets.

<%@LANGUAGE="JavaScript"%>
<!-- METADATA TYPE="typelib"
FILE="C:\Program Files\Common Files\System\ado\msado15.dll" -->
<HTML>
<BODY>
<%
var myConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=";
myConnect += Server.MapPath("\\");
myConnect += "\\GlobalScripts\\htmlColor.mdb;";

var ConnectObj = Server.CreateObject("ADODB.Connection");
var RS = Server.CreateObject("ADODB.Recordset");
var sql="SELECT ID, colorName, hexValue FROM colorChart;";

ConnectObj.Open (myConnect);
RS.Open(sql,ConnectObj,adOpenForwardOnly,adLockReadOnly,adCmdText);

Response.Write("<TABLE BORDER=\"1\" CELLSPACING=\"0\">\r");
Response.Write("<TR><TH>ID</TH><TH>colorName</TH>");
Response.Write("<TH>hexValue</TH></TR>\r");
while (!RS.EOF)
{
Response.Write("<TR><TD>" +RS("ID")+ "</TD><TD BGCOLOR=\"#");
Response.Write( RS("hexValue")+ "\">" + RS("colorName") );
Response.Write("</TD><TD>" +RS("hexValue")+ "</TD></TR>\r");
RS.MoveNext();
}
Response.Write("</TABLE>\r");

RS.Close();
ConnectObj.Close();
RS = null;
ConnectObj = null;
%>
</BODY>
</HTML>


Click Here to run the script in a new window.

The DLL:

We'll dissect the Recordset statements from top to bottom. In this case that means starting with the Dynamic Link Library.

<!-- METADATA TYPE="typelib"
FILE="C:\Program Files\Common Files\System\ado\msado15.dll" -->

What in the world is a DLL? A Dynamic Link Library holds values without tying up memory. Here's how it works. If you try to use a variable that is undefined, ASP will first look it up in the DLL. You'll notice in the Recorset.Open() Method that we use variables that are not defined in the script. Thanks to the DLL, we won't get an error code.

Managing the Recordset:

First we must instanciate a Recordset, which we do in the little snippet below.

var RS = Server.CreateObject("ADODB.Recordset");

Next we create a Text Command. The text in question comes in the form of S.Q.L. (Structured Query Language). SQL is beyond the scope of this web site, but the command below means select ID, colorName and hexValue from the colorChart Table.

var sql="SELECT ID, colorName, hexValue FROM colorChart;";

Then we open the Recordset. The five arguments in order are: source, connection, cursor type, lock type, and options .

RS.Open(sql,ConnectObj,adOpenForwardOnly,adLockReadOnly,adCmdText);

Using a loop, we tell ASP to do certain things for as long as we haven't hit EOF, which means End of File.

while (!RS.EOF)

Next, we access specific collums in the Recordset by name.

Response.Write( RS("hexValue") + "\">" + RS("colorName") );

Then we move down from one row of records to the next.

RS.MoveNext();

Finally, when we reach EOF, the loop relinquishes control and we can close the Recordset Object.

RS.Close();

The Rest of The Story:

This is by no means a complete lesson on Recordsets; it wasn't meant to be. The rest of the story on Recordsets is out there, on the internet, and in books. There is one other thing we have to talk about with Recordsets. We do that in lesson 18.

(0)

相关推荐

  • javascript asp教程Recordset记录

    Recordset is another created/instanciated Object. It is a collection of data taken from a database. Recordset has 26 properties, 25 methods, 11 events, and two (2) collections. The vast majority of Recordset is beyond the scope of this web site. Quic

  • javascript asp教程创建数据库连接

    While this section is devoted to ASP database utilization, it very important to remember that this web site is not intended to be a thorough ASP resource. Remember, the focus of this site is strictly limited to how to use JavaScript as your primary s

  • javascript asp教程添加和修改

    The Connection Execute(): If you want to retrieve data from a database then you have no choice but to use a Recordset. However, for the purposes of adding, updating, and deleting data you don't necessarily have to have a Recordset. It's up to you. Fo

  • javascript asp教程服务器对象

    Overview: The Server Object has seven (7) Methods, one (1) Property, zero (0) Events, and zero (0) Collections. List of Methods: Server Methods CreateObject( ) Server.CreateObject("ADODB.Recordset")Create an instance of an Object Execute( ) Serv

  • javascript asp教程More About Recordsets

    Below we will attempt to access data from a database without knowing the column names. Clearly the best way to utilize data in your database is to keep track of your schema. Schema is the layout of data in your database. The concept is well beyond th

  • javascript asp教程第十二课---session对象

    Overview: The Session Object is how you track a single user across many pages. It has four (4) properties, two (2) collections, one (1) method, and two (2) events. Get Started: In this series of examples we will create a password system. We will use

  • javascript asp教程第十课--global asa

    Global.asa: First of all, what is a global.asa? It's an optional script file that holds certain "global" information that you can access through the entire ASP appliciation. The global.asa is a plain text file saved with the .asa extension. You

  • javascript asp教程第六课-- response方法

    response 对象:reponse是asp中六个对象之一.它代表了服务器端对浏览器的回应.response有8种方法,9种属性和一个集.在这一课,我们就重点讲述方法.方法:在javascript中,asp方法使用括号.请注意依赖response.buffer的两个方法,我们将在下一课讲到他们.同样应该注意到addheader()和redirect(),因为他们必须优先于write()执行.所有的方法都在上面描述和演示了.下面我将详细讲述每一个方法.我将花点额外的时间来讲述我们用的最多的两个方

  • javascript asp教程第七课--response属性

    Below is a table of Response Properties along with examples and explanations. Response Properties Buffer Response.Buffer = trueAllows for the buffering of output CacheControl Response.CacheControl="Public" Sets Cache to "Public" or &qu

  • javascript asp教程第三课 new String() 构造器

    开始:new String() 是本课程计划中较早出现的另一个让人感觉到奇怪的地方.但和转义字符一样, new String()是创建一个成功的asp javascript应用的必须元素.下面是本课的两个脚本:下面是实际上承担重量的脚本:行为中的new String( ):现在我们来看看下面的asp行.Request.Form 我们将在后面有独立的课程来讲授.下面才是我们现在要讲的重点.在request.form中所持有的数据(来自用户的数据)并不是一个javascript数据类型.相反,它是一

随机推荐