Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-04-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
Red face como concatenar y desconcatenar

hola amigos


lo que quiero hacer es lo siguiente:
en mi base de datos tengo un campo que se llama nombre que esta compuesto por nombre o nombres, apellidop y apellidom como le puedo hacer para que al momento de consultar se me desconcatene en tres edits y que al momento de insertar se concatene para agregar a la base de datos

garcias!!!
un saludo muy grande a todos!!
Responder Con Cita
  #2  
Antiguo 19-04-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
la función copy te puede servir para lo primero.
la función formatstr con parámetros %s te puede servir para lo segundo.

Pero, creo que lo mejor sería que consultaras sobre las reglas de normalización de las bases de datos, donde se recomienda que los datos sean atómicos, es decir, que no sean compuesto.

Es mucho mejor tener los campos separados, de esta manera te evitarías tener que andar con estos menesteres.
__________________

Responder Con Cita
  #3  
Antiguo 19-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El problema lo vas a tener con apellidos compuestos y nombres, por ejemplo:
"Maria Antonia del águila molina" es el más complejo que puedes encontrar.

- ¿Cómo puedes separar eso? El ordenador no puede diferenciar entre un nombre compuesto y "Manuel González Romero"
- ¿Y los apellidos? ¿cómo los troceas? Los espacios no te sirven de separador.

Lo que te han dicho, crear 3 campos, es la única solución, otros inventos te fallarán.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 19-04-2007
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 22
Rockin Va por buen camino
Para insertar es tan facil como:


NombreEntero.Text:= Nombre.text + ' ' + Apellido1.text + ' ' + Apellido2.text;

Inserta un espacio entre nombre y apellidos para que no lo ponga junto.

Para la consulta ya es mas complicado, deberias de poner un campo nombre y otro apellido en la BD, seria mejor com dicen los compañeros.

Saludos.
Responder Con Cita
  #5  
Antiguo 19-04-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Dependiendo del tipo de base de datos...

Puedes tener un campo calculado que uses para las consultas:

Código SQL [-]
create table Personas(
  Nombre varchar(50) not null,
  ApellidoP varchar(50) not null,
  ApellidoM varchar(50) not null,
  Nombre_Completo computed by Nombre || ' ' || ApellidoP || ' ' || ApellidoM 
);

De esta forma para editar usas los campos normales y para consultas usas el campo calculado Nombre_Completo...



Saludos...
Responder Con Cita
  #6  
Antiguo 19-04-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
Red face

hola amigos gracias por sus respuestas

creo que me voy por lo que ustedes me dicen
pero me surgio otra duda...
ya puedo insertar nombre en un registro, apellidop en otro, apellidom....
pero si quisiera mostrarlo en dbgrid en un solo campo que se llame nombre como le puedo hacer

Responder Con Cita
  #7  
Antiguo 19-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
creo que maeyanes y tú habéis posteado casi al mismo tiempo, ¿has leído su mensaje?

Esa forma sería la ideal, aunque hay otras opciones, por ejemplo en la consulta del grid, puedes hacer:
Código SQL [-]
select Nombre || Apellidop || apellidoM as NombreCompleto, domicilio, calle
from tabla
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 19-04-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
para SQL Server sería:
Código SQL [-]
Select Nombre+' '+ApellidoP as NombreCompleto
From TuTabla
__________________

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
Concatenar Paradox Coco_jac Varios 2 27-04-2006 17:55:55
Concatenar Nulls.. Como? Juanito-Kun Firebird e Interbase 3 28-09-2005 21:42:26
Concatenar y Group By remy Firebird e Interbase 2 26-09-2005 09:43:05
Concatenar en FastReport oscjae Impresión 2 01-07-2005 11:11:47
como concatenar fechas y string en access Jet 4 orfeo SQL 1 25-06-2004 14:56:12


La franja horaria es GMT +2. Ahora son las 16:46:02.


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