Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Clientdataset ..applyupdate (https://www.clubdelphi.com/foros/showthread.php?t=84495)

rodrinig 25-10-2013 15:40:01

Clientdataset ..applyupdate
 
Estimados : tengo un problema que me esta volviendo loco, y lo planteo para saber si alguien me tira una soga.
Trabajo con delphi 7 y firebird 1.5

Tengo una tabla que como clave de campos integer y despues son como 60 campos mas..... y cuando quiero hacer un update , me da que NO ES POSIBLE ENCONTRAR EL REGISTRO. NO SE ESPECIFICO NINGUNA CLAVE, pero a mi me trae el registro .

Tengo asi la conexión :
TsqlDataSet ----> commandText
Código SQL [-]
 select * from FC_ORDEN where or_perio = :para1 a and or_numero = :para2
commandType ctQuery
TDataSetProvider
TClienteDataSet
TDataSource

desde una grilla yo abro una ventana con el registro y cuando modifico algo (ApplyUpdates(0), me da ese error... Ojo que si el
TsqlDataSet lo pongo como commandType ctTabla, y commandText FC_ORDEN me hace el update, Pero me trae TODA LA TABLA y tiene muchos registro...por ende tarda un monton.

Estuve buscando y no encontré (o no entendí) nada.
Desde ya 3.000.000 de gracias por su tiempo .

Saludos

Rodrigo Iñiguez

Caminante 04-11-2013 20:25:55

Hola

Aunque ya paso una semana voy a ver si puedo sugerir algo útil :D

Al hacer applyupdates el proovedor debe saber cual es la clave primaria para ubicar el registro a modificar. Esto lo puedes indicar en el sqldataset seleccionando el campo clave en el editor de campos y activando la opcion pfkinkey de la propiedad proveiderflags.

Espero te sea util

Saludos

rodrinig 05-11-2013 20:35:42

Solucionado
 
Gracias caminante, era eso precisamente .
Abrazo Grande

Rodrigo


La franja horaria es GMT +2. Ahora son las 08:14:16.

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