Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   En el editor, continuar una instruccion en otra linea (https://www.clubdelphi.com/foros/showthread.php?t=19519)

Walterdf 16-03-2005 21:54:48

En el editor, continuar una instruccion en otra linea
 
Hola
Tengo varias líneas de instrucciones SQL que son un poco largas y escapan a la visual lo cual me resulta bastante incómodo, ¿hay forma de continuar en la siguiente linea?, por ejemplo:

que la instrucción:
add('select * from tabla where campo1=criterio1 and campo2=criterio2 order by campo 1, campo2');

me quede algo así:
add('select * from tabla
where campo1=criterio1
and campo2=criterio2
order by campo 1, campo2');

y no me de error.

Muchas gracias.

Walter

marcoszorrilla 16-03-2005 21:56:25

Código SQL [-]
add('select * from tabla'+
'where campo1=criterio1'+
'and campo2=criterio2'+
'order by campo 1, campo2');

Un Saludo.

Walterdf 16-03-2005 22:01:49

Mil gracias!!!

mamcx 16-03-2005 22:25:23

Bueno, una alternativa mejor a tener SQL hardcode seria:

'En una unit que liste constantes de SQL
unit ConstSql

SQL_TABLA:String = 'select * from tabla'+
'where campo1=%s'+
'and campo2=%s'+
'order by campo 1, campo2'
Y el codigo queda:

Código Delphi [-]
    add(Format(SQL_TABLA,['Criterio1','Criterio2']));

Como ventajas adicionales:

- Mas facil de insertar las comillas o mejorar el formato del sql despues
- Tiende a ser mas reutilizable
- Facil mirar donde hacer cambios debido a nuevos/borrados/cambiados campos (Una sola unit deberia tener todas los SQL)
- Mas facil portar a otra BD

Eso, junto a unas cuantas funciones que generen automaticamente el SQL (ej: BuildSql(Campos,Filtro,Orden):String), y el codigo se vuelve muy mantenible...

Walterdf 17-03-2005 05:08:26

Gracias mamcx!!
Lo veo bastante organizado, e implementado ya una función como la que haces referencia (BuildSql) para que quede mas ordenado, ahora voy a seguir tu sugerencia con respecto a las constantes.
Un abrazo.

Walter


La franja horaria es GMT +2. Ahora son las 13:56:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi