Foros del Web » Programando para Internet » ASP Clásico »

comparación de Tablas

Estas en el tema de comparación de Tablas en el foro de ASP Clásico en Foros del Web. Por fin creo que ya solo me queda una cosa, con lo que con un poco de suerte no volveré a dar la vara por ...
  #1 (permalink)  
Antiguo 19/05/2005, 13:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
comparación de Tablas

Por fin creo que ya solo me queda una cosa, con lo que con un poco de suerte no volveré a dar la vara por aquí en una temporadita (al menos por el foro de ASP).

El asunto es... tengo dos tablas, en cada una, hay una columna de DNIs, lo que estoy haciendo es un select a cada una de ellas, y necesito saber si algún DNI se repite en ambas tablas. Lo que hago (o mejor dicho, intento hacer) es ir recorriendo las tablas y comparar los DNIs, pero esto me da error en el IF, el resto creo q está bien. Si alguien le pudiese echar un ojo...


<%
While not Rs1.EOF
While not RS.EOF
if Rs1("DNI") and Rs("DNI") Then
Response.Write("el dni" &DNI& " existe en las dos tablas")
end if
Rs.MoveNext
wend
Rs1.MoveNext
Wend
%>

Muchas gracias ;)
  #2 (permalink)  
Antiguo 19/05/2005, 13:54
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
<%
While not Rs1.EOF
While not RS.EOF
if Rs1("DNI") = Rs("DNI") Then
Response.Write("el dni" &DNI& " existe en las dos tablas")
end if
Rs.MoveNext
wend
Rs1.MoveNext
Wend
%>
pero como tengas muchos registros esto se te va a hacer eterno y vas a matar lentamente al servidor, macho.

creo que mejor lo harías con arrays (getrows, investiga)


otra opción sería hacer búsquedas sql en el primer while, pero eso también seríua pesado. lo mejor es que te hagas los tres métodos y pruebes a ver cual es el más rápido.
  #3 (permalink)  
Antiguo 19/05/2005, 13:59
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Hola, no estoy muy seguro, pero haciendolo así, lo que estas verificando es si los DNI's (respectivos a cada columna) son iguales, pero únicamente los de la misma fila. Osea, si tienes lo siguiente:

3000000 2891773
2937164 3000000

No te va a saltar que existe un DNI igual, al no estar en la misma fila los DNI's. En cambio si estuvieran en la misma fila ahi si te funcionaria correctamente la sentencia condicional.
Yo sabria como hacerlo pero sacando el RS en un array, con getRows, pero no se si eso estas acostumbrado a utilizar ese metodo.
Saludos y si se me ocurre alguna idea de como puedes hacer te la paso.
  #4 (permalink)  
Antiguo 19/05/2005, 14:06
 
Fecha de Ingreso: mayo-2005
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
el ejemplo q pone Trasgu no me funciona:

Tipo de error:
ADODB.Field (0x80020009)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

Lo de getRows no lo conozco, pero me moveré para ello, si sabeis de algún buen tutorial...

Gracias ;)
  #5 (permalink)  
Antiguo 19/05/2005, 14:11
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Aca te dejo el artículo que léi yo por primera vez, es el que me convenció para empezar a usar ese método, obviamente después tendrías que ampliar tu búsqueda, pero con esto para un principio me parece que está bien. Aparte es muy sencillo de entender.
Saludos y espero que te sirva y te salga lo que estas tratando de hacer.

http://www.aspfacil.com/articulos/110201.asp
  #6 (permalink)  
Antiguo 19/05/2005, 16:24
 
Fecha de Ingreso: mayo-2005
Mensajes: 19
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias tiu, estoy leyendo el texto y no parece complicado, mañana me pondré con ello y espero que no me de ningún problema, pero mañana, q hoy ya no puedo más...

Salud ;)
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 22:03.