Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
manejo bases de datos

Hola, la verdad es me estoy liando con las bases de datos, estoy mirando el libro la cara oculta de delphi 4 y estoy mas liado.

Antes he creado bases de datos en access, dbase, pero nose como va la cuiestion con delphi.

Si tengo la base de datos creada, las tablas creadas, los indices creados.
Si me lo permitis os digo lo que he ido haciendo:
base de datos de nombres
tablas: nombres: codigonombre,nombre, apellidos, direccion....
habitacion:numero habitacion, fecha entrada,precio habitacion,codigonombre
indices: indexnombre:codigonombre, nombre+apellidos
indexhabitacion:codigohabitacion
luego he puesto con el bde una ttabla, he asignado en propiedades la base de datos y asginado la tabla y los index. He creado dos ttabla. Dos datasource para las dos tablas.

Hasta ahi el ejemplo sencillo para que me pueda ir enterando.

Ahora como seria para enlazar un campo de la base de datos con un string por ejemplo o viceversa, o esto no funciona asi?
abrir tabla, seleccionar el campo que interesa para buscarlo en la tabla, pasar los datos a string,... añadir, o borrar datos..

la tabla esta creada con paradox, usando el delphi.


perdonadme que pregunte cosas muy basicas.

gracias
Responder Con Cita
  #2  
Antiguo 14-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Muy sencillo. En cada tabla (o más genéricamente, en cada dataset), se tiene el concepto de registro activo. Son los datos de ese registro activo a los que puedes acceder, y lo haces de varias formas:

La más sencilla, es como si el reegistro activo fuera un arreglo:

Código:
Table1['nombre'], Table1['apellidos'], Table1['edad']
donde los índices del arreglo son los nombres de los campos. Este método tiene la desventaja de que los datos se tratan con el tipo de datos genérico variant, que no es óptimo y podría impactar en el rendimiento.

Otra manera es usando el método FieldByName:

Código:
Table1.FieldByName('nombre'), Table1.FieldByName('apellidos'), Table1.FieldByName('edad')
FieldByName regresa un objeto de tipo TField, lo que quiere decir que no te está dando directamente el valor del campo. Para ello, debes usar una de las propiedades de TField, tal como AsString, AsInteger, AsBoolean, etc, según el tipo de datos que tenga el campo en la base de datos:

Código:
Table1.FieldByName('nombre').AsString, Table1.FieldByName('apellidos').AsString, Table1.FieldByName('edad').AsInteger
Aunque hace un poco más larga la escritura, tiene la conveniencia de que te devuelve el tipo de datos preciso y no generico.

Esos datos los usas como cualquier otra variable, de manera que puedes copiarlos directamente a variables del tipo adecuado, por ejemplo:

Código Delphi [-]
{ Copiamos el valor del campo 'nombre' en el cuadro de edición Edit1 }
Edit1.Text := Table1.FieldByName('nombre').AsString;

o bien:

Código Delphi [-]
var
  E: Integer;

begin
  E := Table1.FieldByName('edad').AsInteger;
end;

Ahora, realmente sólo puedes acceder a un registro a la vez, el mencionado registro activo. Para acceder a los datos de otro registro, debes primero moverte a ese registro. Hay varias maneras de hacer esto. or un lado cuentas con métodos como Table1.First, Table1.Next que te colocan en el primer registro a avanzan al siguiente. Son útiles para el recorrido secuencial de todos los registros. Pero cuents también con métodos como Table1.Locate para localizar un registro con un criterio dado.

En fin, espero que esto te aclare un poco.

// Saludos
Responder Con Cita
  #3  
Antiguo 14-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias roman es de gran ayuda, con eso ya puedo enredar, aunque imagino que para estas cosas no seria el metodo mas razonable sino mas bien el mas simple.

gracias de nuevo.
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
Pasaje de datos entre bases de datos Mauro Daniel Conexión con bases de datos 1 04-05-2008 15:28:24
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20
Manejo de datos con DBGrids luxus Conexión con bases de datos 5 29-07-2006 06:47:03
manejo de la base de datos con sql altatrejo Conexión con bases de datos 0 22-08-2005 18:52:04
Manejo de esquemas en lugar de muchas bases Lore Castillo Oracle 1 24-05-2005 01:19:00


La franja horaria es GMT +2. Ahora son las 00:36:09.


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