![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias enecumene por tu respuesta.
Entonces, no se que es lo que estoy haciendo mal, sigo con el mismo problema que comentaba en aquel hilo. Gracias. Un abrazo |
|
#2
|
||||
|
||||
|
Hola, ¿y como haces el Applyupdate?, inserta el código si no es ninguna molestia.
Saludos.
__________________
![]() Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
|
#3
|
|||
|
|||
|
Lo explico mejor. Tengo un formulario donde el usuario va agregando los articulos, y 2 datamodules (1 para la logica de negocios donde estan los clientdatasets y otro para el acceso a datos donde estan las ttables Paradox).
Lo que hago en el form cuando el usuario inserta un articulo es llamar al procedimiento InsertarItem del datamodule de la siguiente manera: Código:
procedure TdmDomain.InsertarItem(item : TArticle);
begin
with cdsDetailOrder do
begin
Open;
Insert;
FieldByName('CODIGO').AsString := item.Code;
FieldByName('MARCA').AsString := item.Mark;
FieldByName('PRECIOUNITARIO').AsFloat := item.Price;
FieldByName('CANTIDAD').AsInteger := item.Quantity;
Post;
end;
end;
Project PPedidos.exe raised exception class EDBClient with message ". Process stopped. Use Step or Run to continue. Si lo hago de esta manera: Código:
procedure TdmDomain.InsertarItem(item : TArticle);
begin
with cdsDetailOrder do
begin
Open;
Insert;
FieldByName('CODIGO').AsString := item.Code;
FieldByName('MARCA').AsString := item.Mark;
FieldByName('PRECIOUNITARIO').AsFloat := item.Price;
FieldByName('CANTIDAD').AsInteger := item.Quantity;
Post;
ApplyUpdates(0); //nueva linea
Close; //nueva linea
end;
end;
Evidentemente algo estoy haciendo mal. Muchas gracias!! |
|
#4
|
||||
|
||||
|
Dos cosas, intenta hacer el open del clientdataset fuera del procedimiento, o sea, tenerlo abierto todo el tiempo, puede ser al crear el formulario y la otra agrega lo siguiente:
Comentanos como te fue. Saludos.
__________________
![]() Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
|
#5
|
|||
|
|||
|
mmmmm, no entiendo en que cambia ApplyUpdates(-1)?, me sigue insertando los items de a 1. ¿?
|
|
#6
|
||||
|
||||
|
Cita:
y en el botón donde tienes el applyupdates le cambias el 0 por -1. Saludos. PD. el open del ClientDataset lo abres cuando creas el form u en otro sitio.
__________________
![]() Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
|
#7
|
|||
|
|||
|
Haciendolo de esa manera, al hacer el Post (en el 2do. registro) me tira el error que comentaba antes.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Duda con CancelUpdates y ApplyUpdates con ClientDataSet | David | Conexión con bases de datos | 1 | 11-02-2011 20:00:07 |
| Between y ClientDataSet | d2nemi | Firebird e Interbase | 10 | 26-02-2008 09:21:00 |
| ClientDataSet y XML | gsilvei | Conexión con bases de datos | 0 | 03-10-2007 22:59:18 |
| ClientDataSet y W98 | tgsistemas | Conexión con bases de datos | 5 | 03-08-2004 10:13:06 |
|