Foros del Web » Programando para Internet » Javascript »

RecordSet en Javascript

Estas en el tema de RecordSet en Javascript en el foro de Javascript en Foros del Web. Que tal, les explico tengo un recordset en javascript me muestra los datos pero el unico problema es que me muestra un error. Código: <script ...
  #1 (permalink)  
Antiguo 21/08/2007, 10:58
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta RecordSet en Javascript

Que tal, les explico tengo un recordset en javascript me muestra los datos pero el unico problema es que me muestra un error.

Código:
<script language="JavaScript"  RUNAT=Server>
   	var RS1 = Server.CreateObject("ADODB.RECORDSET")
   	RS1.ActiveConnection = "dsn=Alma;uid=admalma;pwd=admalma;"
   	RS1.Open ("SELECT DISTINCT subfamilia FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia'")
	myVal = RS1.Fields("subfamilia")  //Remove the .value
	
   	while ( myVal != null){
		Response.Write ((myVal) + "<BR>")
		RS1.MoveNext()
	}	
</script>
El error que me muestra es el sigueinte:
-------------------------------------------------------------------------------
ADODB.Recordset error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/almav2/pruebaJ.asp, line 23
------------------------------------------------------------------------------

la linea 23 que se menciona en el error es "while ( myVal != null){" el problema es que cuando termina de mostrar todos los datos el siguiente es null entonces reclama que no encuentra nada y no se como manejar bien esa excepcion...

Espero que me puedan ayudar Gracias.
  #2 (permalink)  
Antiguo 21/08/2007, 11:26
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Re: RecordSet en Javascript

Nunca usé JScript server-side, pero si funciona como VBScript, entonces deberías hacerlo así:

Código:
<script language="JavaScript"  RUNAT=Server>
   	var RS1 = Server.CreateObject("ADODB.RECORDSET")
   	RS1.ActiveConnection = "dsn=Alma;uid=admalma;pwd=admalma;"
   	RS1.Open ("SELECT DISTINCT subfamilia FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia'")
	
   	while ( !RS1.EOF ){
		Response.Write (RS1.Fields("subfamilia") + "<BR>")
		RS1.MoveNext()
	}	
</script>
O sea, en castellano:

Código:
mientras que no lleguemos al final de archivo para RS1{
	hagamos algo
	pasemos al siguiente registro
}
O en VBScript:

Código:
While NOT RS1.EOF
	Response.Write RS1("subfamilia") & "<br />"
	RS1.MoveNext
Wend
Por cierto, este tema debería ir en el foro ASP.
Saludos
__________________
...___...
  #3 (permalink)  
Antiguo 21/08/2007, 11:48
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: RecordSet en Javascript

Muchas Gracias por tu respuesta
ademas lo resolvi de la siguiente manera

Código:
<script language="JavaScript"  RUNAT=Server>
   	var RS1 = Server.CreateObject("ADODB.RECORDSET")
   	RS1.ActiveConnection = "dsn=Alma;uid=admalma;pwd=admalma;"
   	RS1.Open ("SELECT DISTINCT subfamilia ,(SELECT Count(DISTINCT subfamilia) FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia')As Cont FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia'")
	myVal = RS1.Fields("subfamilia")  //Remove the .value
	myCont = RS1.Fields("Cont")
	for (var i = 1; i <= myCont; i++){		
		Response.Write ((myVal) + " " + (myCont) + "<BR>")
		if ( i < myCont ){
		RS1.MoveNext()
		}
	}	
</script>
ahora este asunto lo realize ya que tengo un menu desplegable en javascript entonces la idea era que mostrara el contenido de cada pestaña de forma dinamica pero me muestra error de javascript, agrego parte del codigo, quien me ayuda. Gracias.
agrego
Código:
 <script language="JavaScript" RUNAT="Server">     
<!--
   	var RS1 = Server.CreateObject("ADODB.RECORDSET")
   	RS1.ActiveConnection = "dsn=Alma;uid=admalma;pwd=admalma;"
   	RS1.Open ("SELECT DISTINCT subfamilia ,(SELECT Count(DISTINCT subfamilia) FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia')As Cont FROM productos_seeAlma WHERE IdPlataforma = '3' AND familia = 'Telefonia'")
	myVal = RS1.Fields("subfamilia")  //Remove the .value
	myCont = RS1.Fields("Cont")

function mmLoadMenus() {
	if (window.mm_menu_0511182131_0) return; 		
		window.mm_menu_0511182131_0 = new Menu("root",125,16,"Verdana, Arial, Helvetica, sans-serif",10,"#003a57","#ffffff","#7eb3bd","#006c7a","left","middle",3,0,100,-82,18,false,true,true,2,true,true);
			for (var i = 1; i <= myCont; i++){		
				mm_menu_0511182131_0.addMenuItem((myVal),"location='../Telefonia/Productos.asp?Ip=<%=Id_usuario%>&Ipla=<%=Ipla%>&SubFmly="+myVal);
				if ( i < myCont ){
				RS1.MoveNext()
				}
			}	
		mm_menu_0511182131_0.hideOnMouseOut=true;
		mm_menu_0511182131_0.menuBorder=0;
		mm_menu_0511182131_0.menuLiteBgColor='#ffffff';
		mm_menu_0511182131_0.menuBorderBgColor='#ffffff';
		mm_menu_0511182131_0.bgColor='#ffffff';
  #4 (permalink)  
Antiguo 21/08/2007, 11:53
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Re: RecordSet en Javascript

Estoy deacuerdo con Al Zuwaga. Pero además por el tipo de error, el error está en el Select. Creo que deberías revisarlo.

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 21/08/2007, 11:57
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: RecordSet en Javascript

no tengo error en el select porque me arroja los valores el error lo tengo cuando adjunto el recordset con el codigo del menu.
  #6 (permalink)  
Antiguo 21/08/2007, 12:03
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Re: RecordSet en Javascript

Hola nuevamente. OK, es otra manera de hacerlo llevar un contador y usar un for, pero me gusta más la otra opción ya que no hay que hacer ningún If ni "cosas raras" ;)

Ahora, no me creas mucho lo que te voy a decir, pero me parece que estás mezclando JScript server-side con Javascript para el comportamiento en el cliente... y eso sería un error.
__________________
...___...
  #7 (permalink)  
Antiguo 21/08/2007, 12:06
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: RecordSet en Javascript

hola de nuevo.
eso mismo estaba viendo ahora ya que al sacarle el runat="server" no gestiona el recordset, pero si gestionado los menu estaticos...tienes alguna idea de como podria mezclarlos??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.