Ver Mensaje Individual
  #8  
Antiguo 22-03-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Reputación: 22
marto Va por buen camino
Solo aportar un pequeño detalle. Es aconsejable evitar en la medida de lo posible montar el SQL al vuelo. En vez de ello es mejor declarar parametros (tal y como se apuntaba en el primer mensaje) y después asignarles el valor deseado. Creo que es mejor esta técnica por cuatro razones:

1.- Evita agujeros de seguridad mediante ataques de SQL Injection
2.- Si trabajamos con un SGBD decente, la query quedará preparada en el servidor, con lo que si se tiene que ejecutar más de una vez, aunque cambien los parametros, su velocidad será mucho mayor.
3.- A mi juicio el código queda mucho más legible.
4.- La VCL se encarga de escapar aquellos caracteres "extraños" (', ", \, ;, ...) que pueda introducir el usuario.

En el caso que se expone, yo dejaria el código SQL tal y como ha indicado dmasson al principio. En el evento que tiene que abrir la consulta, pondría el siguiente código:
Código:
Query1.Close;
Query1.ParamByName('RAZON').AsString := Edit1.Text + '%';
Query1.Open;
__________________
E pur si muove
Responder Con Cita