Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/10/2005, 19:52
Avatar de hernux
hernux
 
Fecha de Ingreso: agosto-2001
Ubicación: Buenos Aires, Argentina
Mensajes: 37
Antigüedad: 23 años, 4 meses
Puntos: 0
Hola,

Lo unico que veo aparentemente, es que estas armando mal el sql, no me convence mucho el for()...

1- el operador != no es valido con strings...
2- vos tomas en cuenta que es el primero cuando i vale 0... no conozco tu programa pero podria suceder que el primer elemento del array no contenga nada y el segundo si, con lo cual, i ya no seria 0 , y sin embargo seria el primer elemento.
3- no te interesan los elementos que no tengan contenidos, y lo estas validando 2 veces, solo hace falta hacerlo una vez. (para ahorrar recursos)
4- no estas usando else en el if, con lo cual, en la primer recorrida se tomara como valido en los 2 if, y habra codigo duplicado

Yo lo cambiaría por algo asi:


for (i=0,int ivalido=0; i <= datos.length; i++){
// solo acepto los datos que tienen contenidos
if (datos[i] != null && !datos[i].trim().equals("")){
// si es el primer elemento , agrego el where
if (ivalido = 0)
str += " where ";

// sino agrego el and
else
str += " and ";

// ahora si, agrego la clausula
str += datos[i];

// incremento ivalido
ivalido++;
}
}

...
aunque eso solo deberia traerte resultados incorrectos, pero no tirar error... si seguis con problemas... podrias postear el error que te da? asi vemos cual es el problema...
__________________
suerte
y hasta la proxima
SI TUX QUIERE!!!!

Hernán Casadesús
Herac Team Leader