Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta en Delphi de más de 255 caracteres (https://www.clubdelphi.com/foros/showthread.php?t=63509)

PallyRS 17-02-2009 17:28:02

Consulta en Delphi de más de 255 caracteres
 
Hola Foro:

Necesito realizar una consulta, pero la misma está formada por más de 255 caracteres. Mi duda es:

¿Cómo terminar una línea y comenzar la otra sin que Delphi me genere un error?

Gracias

dec 17-02-2009 17:32:20

Hola,

Delphi no soporta cadenas "literales" de más de 255 caracteres. Pero, nada te impide escribir algo así:

Código Delphi [-]
var
  sql: string;
begin
  sql := 'Una parte de la consulta SQL';
  sql := sql + ' La otra parte de la consulta';

  {...}
end;

Caro 17-02-2009 17:41:08

Hola, o así

Código Delphi [-]
var
  sql: string;
begin
 sql := 'Una parte de la consulta SQL'+
          ' La otra parte de la consulta'+
          ' Y la otra parte de la consulta';
end;

Saluditos

dec 17-02-2009 17:52:30

Hola,

Casi que me gusta más el método de Caro. ;)

PallyRS 17-02-2009 18:02:02

Hola dec y Caro
A ambos gracias, los 2 métodos me sirven muy bien. Al final decidí por el de Caro, se ajusta más a, digamos, mi forma de programar.

Gracias

ContraVeneno 17-02-2009 19:18:55

El detalle con esa forma, es que si tienes algún error en la consulta SQL, te dirá que tienes un error en la línea 1. Ya que tu lo ves en varias líneas, pero el compilador lo genera todo en una sola.

Y cuando estamos hablando de una consulta de más de 255 caracteres, vas a tener muchos dolores de cabeza cuando veas el error "SQL error en línea 1" y trates de encontrar donde esta el error.

Por ese motivo, para mi se hace mucho mejor utilizar:

Código Delphi [-]
with TuDataset do begin
 ...
 SQL.Clear;
 SQL.Add('Select .....');
 SQL.Add('uncampo....');
 .........
 SQL.Add('where......');
 .....
end; //with

Utilizando SQL.Add, tu consulta SQL ya no quedará en una sola línea, y si ocurre algún error, el sistema te dirá en que línea exacta se generó el error.

Sobre todo si utilizas SQL Server, tiene una herramienta que se llama SQL Profiler, donde puedes ver todo lo que se ejecuta en la base de datos. Y es una lata ver instrucciones en una sola línea kilométrica...

Kipow 17-02-2009 22:19:18

Si te interesan los saltos de linea podrias hacerlo asi

Código Delphi [-]
var
  sql: string;
begin
 sql := 'Una parte de la consulta SQL'+#13+
          ' La otra parte de la consulta'+#13+
          ' Y la otra parte de la consulta';
end;


La franja horaria es GMT +2. Ahora son las 09:21:13.

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