Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error al cargar sql (https://www.clubdelphi.com/foros/showthread.php?t=30142)

bbjb 09-02-2006 17:18:24

Error al cargar sql
 
EStoy intentado añadir una "macro-select" en un programilla de tal dimensión que he optado por guardarla en un archivo llamada sql.txt y cargarla en el objeto TQuery a través de la sentencia.

Código Delphi [-]
      Qlistado.SQL.LoadFromFile('C:\sql.txt');

Al intentar obtener el valor de la sentencia sql que va a ejecutar obtengo unos caracteres rarísimos. Os muestro un extracto de la sentencia

'Select Año, Serie,numero,Agente'#$D#$A,(Select age_nombre From ser_agente Where age_codigo = prc_agente(de.cab_receptor,today,1)) Nombre_Age'#$D#$A',(Select Min(pob_zona) From com_poblacion po Where pob_cpostal =

Por supuesto, ni que decir tiene que el petardazo que me da es pequeño y claro no puedo continuar.

¿Sabeís a que se puede deber?

delphi.com.ar 09-02-2006 18:37:55

Cita:

Empezado por bbjb
...Al intentar obtener el valor de la sentencia sql que va a ejecutar obtengo unos caracteres rarísimos...

Esos caracteres no son tan raros, la traducción de lo que ves es:
  • El símbolo # seguido de un entero sin signo entre 0 y 255, expresado en forma decimal o hexadecimal, denotan el correspondiente caracter ASCII
  • El prefijo $ indica que el valor numérico que lo presigue es un número hexadecimal
Por consiguiente, podrías decir que
#$D#$A = #13#10 = chr(13) + chr(10) = Carriage Return + Line Feed

Ejemplo:
Código Delphi [-]
Memo1.Text := 'Hola'#$D#$A'Mundo'#13#10 + '!' + chr(13) + chr(10) + '!';

Saludos!

bbjb 09-02-2006 18:54:22

Ahhhh!!!!, claro siendo así lo que tendría que hacer es transformar esos caracteres.

Voy a intentarlo.
De nuevo, muchas gracias.

delphi.com.ar 09-02-2006 19:06:46

Cita:

Empezado por bbjb
Ahhhh!!!!, claro siendo así lo que tendría que hacer es transformar esos caracteres.

No tenes ningun problema, el motor no le va a molestar que el sql tenga mas de un CR+LF...

bbjb 10-02-2006 17:42:31

Ok, gracias por tu ayuda.


La franja horaria es GMT +2. Ahora son las 01:12:15.

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