[Lazarus-es] Eliminar registro en BD SQLite

Jose Antonio. Cuello Principal jcuello en artextrading.com
Lun Jun 25 17:37:00 CEST 2012


Hola, tengo varias aplicaciones para pocketpc que usan sqlite y el único detalle que me encontré era que al hacer el commit de la transacción despues de haber ejecutado el DELETE correspondiente era que me cerraba los querys (SELECTs) que tenía abiertos.

Quiero decir, que para eliminar un registro simplemente realizo un DELETE en un Query con su execute. Supongo que en un TDataset si se hace un delete y lugo el appliupdates debe funcionar como cualquier otro motor de bases de datos.

Un saludo.

----- Mensaje original -----
De: "Jorge M. Martinez Saez" <jorge.martinez.saez en gmail.com>
Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org>
Enviados: Lunes, 25 de Junio 2012 17:01:58
Asunto: Re: [Lazarus-es] Eliminar registro en BD SQLite

El 25-06-2012 9:44, Maikel Enrique Pernía Matos escribió:
> Hola, estoy desarrollando desde Lazarus, una app que utiliza SQLite 
> como BD, hasta ahora puedo conectarme con la base de datos e insertar 
> datos en la tabla de forma permanente; pero el problema está en la 
> posibilidad de eliminar un registro de la tabla.
>
> Agrego el código de conexión y manejo de la Base de Datos:
> <code>
>  Un formulario con los siguientes componentes:
>   Button1: TButton;
>   Datasource1: TDatasource;
>   DBEdit1: TDBEdit;
>   DBGrid1: TDBGrid;
>   DBNavigator1: TDBNavigator;
>   SQLite3Connection1: TSQLite3Connection;
>   SQLQuery1: TSQLQuery;
>   SQLTransaction1: TSQLTransaction;
>
>
>  //Procedimiento para configurar los componentes y activar la conexión:
>  procedure TForm1.Button1Click(Sender: TObject);
>  begin
>    with SQLite3Connection1 do begin
>       DatabaseName := '/home/maikel/prueba.alf';
>       LoginPrompt  := False;
>       Transaction  := SQLTransaction1;
>       Connected    := True;
>    end;
>
>    with SQLQuery1 do begin
>       SQL.Add('SELECT nombre FROM persona');
>       Transaction := SQLTransaction1;
>       DataBase    := SQLite3Connection1;
>       Active      := True;
>    end;
>
>    SQLTransaction1.Active  := True;
>    Datasource1.DataSet     := SQLQuery1;
>    DBGrid1.DataSource      := Datasource1;
>    DBNavigator1.DataSource := Datasource1;
>    DBEdit1.DataSource      := Datasource1;
>    DBEdit1.DataField       := 'nombre';
>  end;
>
>  //Procedimeinto para almacenar permanentemente los datos
>  //luego de la inserción.
>  procedure TdmDatos.SQLQuery1AfterPost(DataSet: TDataSet);
>  begin
>     SQLQuery1.ApplyUpdates();
>     SQLQuery1.CommitRetaining;
> end;
> </code>
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> -- 
>
> Este mensaje le ha llegado mediante el servicio de correo electronico 
> que ofrece Infomed para respaldar el cumplimiento de las misiones del 
> Sistema Nacional de Salud. La persona que envia este correo asume el 
> compromiso de usar el servicio a tales fines y cumplir con las 
> regulaciones establecidas
>
> Infomed: http://www.sld.cu/
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
Hola Maikel:

Cual es el codigo que usas para eliminar los datos?

Has revisado los permisos que el usuario tiene sobre la base? (para 
eliminar)

Atte

-- Jorge Martinez Saez 9-8817012

_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es




More information about the Lazarus-es mailing list