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)
-   -   Concatenar un espacio en ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=28962)

kikodelphi 09-01-2006 13:27:39

Concatenar un espacio en ADOQuery
 
Amigos:
Necesito concatenar dos campos en una consulta de la siguiente manera:
campo1 Varchar (2)
campo2 Varchar (1)
quiero obtener en la consulta 'XX X'

y lo estoy haciendo select (campo1+' '+campo2) as resultado y no me acepta el espacio.
Pero si hago de la siguiente manera: select (campo1+campo2) as resultado,funciona correctamente.

Desde ya, muchas gracias.

vtdeleon 09-01-2006 14:59:37

Saludos

No nos dices que base de datos usas, pero en Firebird es
Código SQL [-]
select campo1 || ' ' || campo2

kikodelphi 10-01-2006 12:05:33

Estoy trabajando con SQL Server.
En el analizador de consultas de la base de datos no tengo problemas para obtener el resultado que quiero.

El problema está en la propiedad SQL del ADOQuery, que si lo coloco como en el analizador de consultas, lo ignora. Necesitaría saber cual es la sintaxis correcta para la propiedad SQL del ADOQuery.

Lo que tengo en el ADOQuery es esto (y no funciona):
select (TipCompr+' '+Letra) as 'Tipo', etc.......
from ComprobantesCpr
where XXXXXXXXXXXX

(en el analizador de consultas, si funciona)


Chente(rMan) 10-01-2006 16:50:55

¿Y des esta manera?, creo que seria algo asi.

Código Delphi [-]
sel := 'select (TipCompr+' + QuotedStr(' ') + '+Letra) as 'Tipo', otro campo'
SQL.Clear;
SQL.ADD(sel);
SQL.ADD('from ComprobantesCpr')
SQL.ADD('where XXXXXXXXXXXX')
Open:



Saludos.

kikodelphi 11-01-2006 12:32:03

Gracias Chente
... pero lamentablemente no funcionó.
Lo que necesito es escribirlo en la propiedad SQL del componente ADOQuery, de manera estática, no en tiempo de ejecución armado desde afuera.

He intentado con:
campo1+'+''' '''+'+campo2
campo1+ ''' ''' +campo2
campo1+'' '' +campo2
campo1+'+'' ''+'+campo2
... sin éxito

kikodelphi 11-01-2006 12:46:18

Listo muchachos, anduvo.
de esta manera.
campo1+'' '' +campo2
El problema era que el campo no se actualizaba en la consulta. Lo borré, modifiqué y lo volví a agregar.
Gracias por la colaboración

mendex88 27-12-2006 17:54:00

[quote=kikodelphi]Amigos:
Necesito concatenar dos campos en una consulta de la siguiente manera:
campo1 Varchar (2)
campo2 Varchar (1)
quiero obtener en la consulta 'XX X'

Lo debes de hacer asi select (campo1,campo2) As resultado FROM 'el nombre de la tabla donde se encuentran los campos';:)

Nelet 28-12-2006 12:10:02

Teniendo en cuenta que el código ASCII del espacio es el 32, en SQL-Server puedes hacer lo siguiente:

Código SQL [-]
select (campo1+char(32)+campo2) as resultado

Así debe funcionarte por la gloria de mi madre.


La franja horaria es GMT +2. Ahora son las 00:34:58.

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