Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   problema con lenguaje. (https://www.clubdelphi.com/foros/showthread.php?t=55164)

sargento elias 09-04-2008 18:29:26

problema con lenguaje.
 
wola.

Esta select no me la ejecuta delphi por la dichosa / , cual es la manera correcta de escribirla:


Código SQL [-]vsql:='SELECT C.ID, C.TIPO, C.IDCTA, (C.IMP - C.ACTA) REFERENCIA,
C.FEC, C.DOCU, C.DES, C.IMP,
(C.NREG || / || C.NVEN) PENDIENTE, CU.COD,CU.DES
FROM CARTERA C INNER JOIN CUENTA CU ON CU.ID=C.IDCT';

enecumene 09-04-2008 18:41:48

Hola, debes utilizar la funcion CONCAT asi:

Código Delphi [-]
sql:='SELECT C.ID, C.TIPO, C.IDCTA, (C.IMP - C.ACTA) REFERENCIA, 
                           C.FEC, C.DOCU, C.DES, C.IMP,      
                           CONCAT(C.NREG,'/',C.NVEN) PENDIENTE, CU.COD,CU.DES      
     FROM CARTERA C INNER JOIN CUENTA CU ON CU.ID=C.IDCT';

espero te sirva.

Saludos.

keyboy 09-04-2008 18:43:05

¿Qué se supone que hace la /?

Agrego: Creo que ya entendí. Si / es un caracter que quieras que aparezca separando a C.NREG y C.NVEN, entonces el problema es que debes entrecomillarlo:

Código Delphi [-]
'C.NREG || "/" || C.NVEN'

Bye

enecumene 09-04-2008 18:46:32

Cita:

Empezado por keyboy (Mensaje 278616)
¿Qué se supone que hace la /?

Bye

Seguro algún separador que el está utilizando algo asi: 22553/23, asi es como lo interpreto yo, pero vale, das en el clavo en preguntar. esperemos la repuesta del sargento.

Saludos.

keyboy 09-04-2008 18:48:24

Creo que es como dices. Ya corregí arriba. Nada más que fíjate que en tu código la diagonal aparece en negro ;).

Bye

sargento elias 09-04-2008 18:51:06

soys estupendos
 
Vaya rapidez, la verdad que estoy en practicas y me vale mas vuestra ayuda que la de mi instructor, gracias:cool:

sargento elias 09-04-2008 18:56:49

me retracto
 
Si es un separador numeroregistro/numerovencimiento pero con comillas dobles me sigue dando error y con el concat, me da un error de lenguaje:D

enecumene 09-04-2008 19:03:21

Cita:

Empezado por sargento elias (Mensaje 278627)
Si es un separador numeroregistro/numerovencimiento pero con comillas dobles me sigue dando error y con el concat, me da un error de lenguaje:D

Cual base de datos utilizas?

keyboy 09-04-2008 19:04:01

Qué raro. ¿Con qué base trabajas? Puse comillas dobles porque hacía más fácil la lectura. Puedes intentar poniendo comillas simples, pero para poner comillas simples dentros de una cadena pascal, debes poner dos de ellas:

Código Delphi [-]
'C.NREG || ''/'' || C.NVEN'

Bye

sargento elias 10-04-2008 09:48:25

gracias
 
solucion:

Código SQL [-]
SELECT C.ID,C.TIPO,C.IDCTA,(C.IMP - C.ACTA)PENDIENTE, 
                      C.FEC,C.DOCU,C.DES,C.IMP,                             '       (C.NREG ||' + QuotedStr('/') + ' || C.NVEN) REFERENCIA,CU.COD,CU.DES         ' +
                     'FROM CARTERA C INNER JOIN CUENTA CU ON CU.ID=C.IDCTA
;

Muchisimas gracias


La franja horaria es GMT +2. Ahora son las 06:40:43.

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