Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Update a un campo varchar con el contenido de otros tres separados con espaco

Hola:

FireBird conectado con IBX

Quiero actualizar un campo varchar con el contenido de otros tres separados con un espacio

Sería algo como esto pero escrito correctamente

'update ALUMNOS set TOTGRUPO = NIVEL + espacio + GRUPO + espacio + ETAPA';

TOTGRUPO el campo a actualizar
NIVEL, GRUPO , ETAPA los otros campos de la misma tabla

¿Se puede hacer? ¿Cómo?

Un saludo.
Responder Con Cita
  #2  
Antiguo 04-06-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Código SQL [-]
 update ALUMNOS set TOTGRUPO=NIVEL||' '||GRUPO||' '||ETAPA
Responder Con Cita
  #3  
Antiguo 04-06-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Gracias hecospina.

Código SQL [-]
//Me funciona bien así, sin dejar espacios

'update ALUMNOS set TOTGRUPO=NIVEL||GRUPO||ETAPA'

Código SQL [-]
//Pero necesito un espacio y si pongo esto Delphi me da error: Missing operator or semicolon

'update ALUMNOS set TOTGRUPO=NIVEL||'  '||GRUPO||'  '||ETAPA'

He probado de varias formas más y no va, me suele dar SQL error ... Token Unknown ...

¿Cómo puedo solucionarlo?
Responder Con Cita
  #4  
Antiguo 05-06-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¿Podrías mostrarnos cómo lo intentas desde Delphi?

(considera que también en Delphi las comillas sencillas se toman como delimitadores de cadenas, y por ello a veces es conveniente utilizar la función QuotedStr o bien comillas duplicadas para los valores String que contienen comillas).

Saludos.

Al.
Responder Con Cita
  #5  
Antiguo 05-06-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Muy extraño que no te funcione, yo hice las pruebas y me funciona, revisa lo que te dice Al sobre utilizar la comilla doble

otra opcion es crear en la tabla un campo nuevo con el caracter espacio y concatenarlo de este forma

Código SQL [-]
update ALUMNOS set TOTGRUPO=NIVEL||nuevocampo||GRUPO||nuevocampo||ETAPA

Si es un cambio que vas a hacer solo una vez te funcionara

Si va a ser constante te recomiendo crear un campo "computed by" en la tabla

TOTGRUPO COMPUTED BY NIVEL||' '||GRUPO||' '||ETAPA

y dejar que la base de datos haga el trabajo
Responder Con Cita
  #6  
Antiguo 05-06-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Muchas gracias a los dos.

Me he dado cuenta que podía pasar el espacio por parámetro así (funciona bien)

Código SQL [-]
DM.IBDSAlumBus.SelectSQL.Text := 'update ALUMNOS set TOTGRUPO=NIVEL||:ESPACIO||GRUPO||:ESPACIO||ETAPA';
DM.IBDSAlumBus.ParamByName('ESPACIO').AsString := ' ';

Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo cambiar el tamaño de un campo tipo varchar subzero Firebird e Interbase 3 12-10-2007 14:57:27
Escribir un campo VARCHAR en Mysql !?? RJF MySQL 1 19-07-2006 09:57:41
Usar un campo varchar(500) o un Memo? pyanqn Conexión con bases de datos 2 17-11-2005 09:08:49
Actualizar el contenido de las primeras celdas UPDATE TOP tiagor64 SQL 2 27-01-2005 12:37:06
Como convertir un campo VARCHAR a uno BLOB, si se puede? judoboy Firebird e Interbase 10 31-07-2003 17:28:45


La franja horaria es GMT +2. Ahora son las 21:18:24.


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
Copyright 1996-2007 Club Delphi