Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2014, 14:20
evoarte
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
variable con valor nulo o no es un objeto

Buenas noches,

He cambiado de servidor windows una web en asp clásico, y me encuentro con un error:

Microsoft JScript runtime error '800a138f'
'dato.0' is null or not an object

No entiendo que lo puede causar por que el código es el mismo, si me pueden ayudar, es muy urgente.

Código ASP:
Ver original
  1. tabla = "solicita";
  2.         ncolu = "clave";
  3.         var nufila;         // Número de filas (registros devueltos por la consulta).                       //
  4.         var nucolu;         // Número de columnas (campos de la tabla devueltos).                           //
  5.         var dato;               // Array donde las filas son los registros y las columnas los campos.       //
  6.  
  7.         consulGI();         // Ejecutamos la CONSULTA.                                                          //
  8.         solicitud = dato[0][0];
  9.         dato      = '';

Código ASP:
Ver original
  1. function consulGI()
  2.     {
  3.     //      Construimos la sentencia SQL de consulta.                                                           //
  4.     //      Abrimos el recordSet, guardando su contenido mediante getRows en un array que               //
  5.     //      convertimos mediante toArray() en un array compatible con javascrip.                            //
  6.  
  7.             rs = Server.CreateObject("ADODB.RecordSet");
  8.             var adOpenKeySet = 1;
  9.             sql = "select * from " + tabla + " where (" + ncolu + "= SCOPE_IDENTITY())";
  10.             rs.Open(sql,CONN,adOpenKeySet);
  11.    
  12.     //  Aplicamos el método getRows() a nuestro recordSet para guardarlo en un array.                   //
  13.    
  14.             if (!rs.EOF)
  15.             {
  16.    
  17.                 var consulVB  = (new VBArray(rs.getRows()));
  18.                 nufila = consulVB.ubound(2) + 1;
  19.                 nucolu = consulVB.ubound(1) + 1;
  20.            
  21.     //  Convertimos el array Visual Basic a javaScript mediante toArray().                              //
  22.            
  23.                 consulta = consulVB.toArray();
  24.  
  25.     //  Construimos un array donde el número de filas es el número de registros recuperados de      //
  26.     //  de la consulta, y el número de columnas es el número de campos de la tabla que nos trae     //
  27.     //  la consulta.                                                                                                //
  28.            
  29.                 dato = new Array(nufila);
  30.            
  31.                 for (i=0;i<nufila;i++)
  32.                     {
  33.                         var colu = new Array(nucolu);
  34.                         for (j=0;j<nucolu;j++)
  35.                         {
  36.                             colu[j] = consulta[(i*nucolu)+j];
  37.                         }
  38.                         dato[i] = colu;
  39.                     }
  40.             }
  41.     // Cerramos el recorSet y lo vaciamos.                                                                  //
  42.            
  43.             rs.close();
  44.             rs=null;
  45.     }

gracias, un saludo, josé carlos.