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

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 24-11-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Cuando tu actualizas un cambio en el ClientDataset, el ApplyUpdates no lo pasa al IBDataset para que se ejecute en él, sinó que se construye una sentencia UPDATE que realiza la modificación.

update table set campo1 = valor1, campo2 = valor2, ....
where campo1 = campo1 and campo2 = valor2 and ...

Cuando quitas el pfInWhere de un campo, no se añadirá a la cláusula where de la sentencia update. Esto es util por ejemplo en los campos memo, donde hay que quitarlo para que no esté un campo memo en el where (cosa que no aceptan muchos motores).

Aunque tienes que tener en cuenta que hay 3 formas para realizar las sentencias update. Esto depende del UpdateMode del DatasetProvider.

upWhereAll
upWhereChanged
upWhereKeyOnly

La primera opción construye el select con todos los campos en el Where (excepto naturalmente los marcados sin pfInWhere). La segunda opción construye la cláusula where, con los campos de clave primaria (pfInKey) y los campos que han cambiado, finalmente la 3a. opción solo pone en el where los campos de clave primaria.

Personalmente utilizo la 3a opción (aunque probablemente la más recomendable es la 2a).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
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


La franja horaria es GMT +2. Ahora son las 13:15:34.


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