Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #13  
Antiguo 22-08-2007
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 20
JosepGA Va por buen camino
Guardar registros

Hola, como bien dices es la forma de implementar el acceso a la base de datos con dbexpress, el ClientDataSet el el componente que te permite navegar con una tabla unidireccional a traves del DataSetProvider. Para guardar registros, en el momento que te interese, deberas llamar al metodo ApplyUpdates( nRegistrosConErroresPermitidos ) para que guarde los cambios realizados en el componente ClientDataSet (mirate la implementación del ReconcileError ). Tanto en el SQLDataSet como en el ClientDataSet, tendrás que indicar en las columnas de estos componentes (FieldColumns), cuales son los campos clave para la actualización (propiedad ProviderFlags, las tres primeras a TRUE, y en el resto de campos solo la primera a TRUE ). Tambien deberás aplicar los parametros pertinentes al DataSetProvider para permitir eliminación de registros en cascada, actualización de varios registros, etc...

Si quieres establecer una relación maestro-detalle, deberas conectar dos SQLDataSet mediante un DataSource y dos ClientDataSet, conectando el segundo al primero mediante su propiedad DataSetField, el cual es una columna del primer ClientDataSet ( al añadir las columnas en el ClientDataSet, el ultimo campo es del tipo ClientDataSet ). La sentencia SQL para el segundo SQLDataSet es del tipo siguiente:

Código SQL [-]
SELECT * FROM TABLA2 WHERE CAMPOCLAVE = :CAMPOCLAVE ORDER BY CAMPOCLAVE2

la declaración
Código:
:CAMPOCLAVE
significa que agui tienes que poner el nombre del campo del SQLDataSet1 que se identifica con el del SQLDataSet2, al poner los dos puntos indicas que es un parametro que se recibe del SQLDataSet1 en forma de campo de la tabla y sin que tu lo tengas que especificar.

Espero que te aclare un poco el uso de DBExpress.

un saludo
Responder Con Cita
 



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
de turbo delphi a Lazarus totote Lazarus, FreePascal, Kylix, etc. 3 12-06-2007 07:15:21
Turbo Delphi o BDS Ezecool Varios 1 04-06-2007 20:56:55
Turbo delphi explorer mario2000 Noticias 10 15-05-2007 23:23:08
Turbo delphi gratuito? fedelphi Noticias 20 22-11-2006 01:56:45
Imprimir con Turbo delphi jorllazo Impresión 8 01-11-2006 19:16:02


La franja horaria es GMT +2. Ahora son las 17:30:47.


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