PRB: Recordset.MoveNext Changes Variable in JavaScript

ID: Q195193


The information in this article applies to:
  • Microsoft Visual InterDev, versions 1.0, 6.0
  • Active Server Pages


SYMPTOMS

When using JavaScript to set a variable equal to a field value in a Recordset object--that is, myField = RS.Fields("FieldName")--the value in the variable changes when a rs.MoveNext() is performed.


CAUSE

In JavaScript, Recordset.Fields() returns an ADO Field Object rather than the value stored in that field, thus when an RS.MoveNext() is performed, the values in the properties of the Field Object are changed, most notably the ".value" property.


RESOLUTION

Use the ".value" property if your intention is to return the value of the field in the recordset object rather than a Field Object, for example:


   LastFieldName = RS.Fields("FieldName").value; 


STATUS

This behavior is by design.


MORE INFORMATION

The following Active Server Pages (ASP) sample code demonstrates how to return the value of the field in the recordset object.


   <SCRIPT LANGUAGE=javascript RUNAT=Server>
   var RS1 = Server.CreateObject("ADODB.RECORDSET")
   RS1.ActiveConnection = "DSN=mtslab"
   RS1.Open ("select * from authors")
   myVal = RS1.Fields("au_lname").value  //remove the .value
                                         //to change myVal
   Response.Write ((myVal) + "<BR>")
   RS1.MoveNext()
   Response.Write (myVal)
   </SCRIPT> 

Additional query words:

Keywords : kbADO kbASP kbDatabase kbJScript kbVisID100 kbVisID600 kbGrpASP kbGrpMDAC kbDSupport kbADO210sp2
Version : WINDOWS:1.0,6.0; winnt:
Platform : WINDOWS winnt
Issue type : kbprb


Last Reviewed: November 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.