Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema con clientdataset (https://www.clubdelphi.com/foros/showthread.php?t=60913)

lina maria 17-10-2008 23:01:04

Problema con clientdataset
 
hola compañeros tengo el siguiente problema y necesito su colaboracion estoy realizando una aplicacion cliente servidor, en el servidor tengo ibqueyrs, datasetproviders, un transacction y un ibdatabase y en el cliente clientdatasets, data source y socket connection basicamente lo que hago es que en el cliente conecto cada datasource con su respectivo cllientdataset y el clientdataset esta conectado con el respectivo socket connection y su dataset provider del servidor y este a su vez esta conectado con los ibquery que es donde se hace la consulta, pero que cuando intento poner en true un clientdataset en el cliente que es para modificar datos bota el error xsqlda index out of range y no me deja activarlo pero en los clientdataset que son solo de consulta si me activa la conexion comun y corriente agradesco cualquier colaboracion que me puedean brindar muchas gracias

roman 19-10-2008 04:16:48

Intenta usar el método Execute del ClientDataSet en lugar de poner Active en true, para las consultas que modifican datos.

// Saludos

lina maria 20-10-2008 22:38:46

Actualizar campos
 
Muchas gracias roman, me funciona a la perfeccion pero resulta que ahora tengo otro pequeño problema y es que los cambios efectuados en la tabla solo se ven reflejados cuando cierro mi aplicacion cliente, buscando en internet encontre que lo que debia hacer era incluir en el evento afterpost el metodo applyupdates pero al hacerlo asi sigo teniendo el mismo problema, agradezco la colaboracion que puedan brindarme.

Rockin 22-10-2008 13:51:52

Para que se actualice el cambio en el momento tienes que poner el siguiente codigo en el evento AfterAplyUpdate de tu DataSetProvider, que se encuentra en tu Servidor de Capa Intermedia

Código Delphi [-]
         if TTransaction.InTransaction then
        begin
           TTransaction.Commit;
        end;

Debe de funcionarte.

Saludos.

lina maria 25-10-2008 01:49:54

Muchisimas gracias
 
Hola rockin muchisimas gracias por tus consejos me ha funcionado a la perfeccion, no te imaginas lo que esto ah siginificado para mi quedare inmensamente agradecida, eres un genio.

Rockin 26-10-2008 18:26:30

Me alegro que te funcione, de genio nada, solo estudiar, leer y preguntar lo que uno no sabe.

Me pagas unas cañas y estamos en paz.

Saludos.


La franja horaria es GMT +2. Ahora son las 10:50:32.

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