Ver Mensaje Individual
  #3  
Antiguo 21-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Hola Ingeniero, como te dice FGarcia los componentes de DBExpress son unidireccionales y de solo lectura, es por eso que te sale el error "no puede modificar o insertar en un dataset de solo lectura", porque estas trabajando directamente sobre el SQLTable. Debe haber un cliente que nos ayude en la navegacion y edicion de los datos que llegaria a ser el ClienteDataSet.

Lo que tienes que hacer es lo siguiente, necesitas un ClientDataSet y un DataSetProvider aparte de tu SQLConnection y tu SQLTable. Debes conectar DataSetProvider con tu SQLTable (DataSet->SQLTable) y tu ClientDataSet con tu DataSetProvider (ProviderName->DataSetProvider).

Ahora cuando queramos registrar o modificar datos en nuestra tabla debes hacerlo mediante el CLientDataSet.

Código Delphi [-]
 ClientDataSet1.Open;
 ClientDataSet1.Insert;
 ......
 ......
 ClientDataSet1.Post;
 ClientDataSet1.UpplyUpdates(0);

ClientDataSet1.UpplyUpdates, esta ultima linea es muy importante
porque es la que aplica los cambios que has hecho.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita