[Lazarus-es] tabla sqlite que no se actualiza

Maikel Enrique Pernia Matos corba en grannet.grm.sld.cu
Mie Mayo 8 15:13:53 CEST 2013


Hector:


El mié, 08-05-2013 a las 07:27 -1200, Héctor F. Fiandor Rosario
escribió:
> Estimado Maikel, ya resolvi.

Me alegra que ya resolvieras el problema, 

>  
> leyendo lo que me mandastes, vi una frase clave: los campos llave
> tienen que ser unicos y nonull, porque si no, no actualizan.

Si en la teoría de bases de datos relacionales como es sqlite, los
campos llaves (primary key) tienen que poseer esa característica es por
ello que generalmente se utilizan campos auto-incrementados pues este
tipo de campo tiene dos características particulares:
1-se genera el valor del campo automáticamente.
2-nunca se repite el valor del campo.
Existen otras llaves (foreign key) que estos si tienen valores
repetidos, pero no pueden ser nulos y estos si debe controlarlo el
usuario de la base de datos o en nuestro caso el programador.
La combinación entre estos tipos de llaves es la que permite relacionar
las tablas en una BD utilizando una sintaxis como la siguiente: 
SELECT
   <campos> 
FROM 
   <tabla1> 
INNER JOIN 
   <tabla2> 
ON 
   <tabla1.primaryKey> = <tabla2.foreignKey>
WHERE
   <condicion>
 
>  
> ayer termine el programa pequeño para enviartelo y hoy me levante
> temprano y lo primero que hize fue prender la PC y agregar un campo
> IdCuentas como AutoInc. Salve, compile y me preocupe de quitar el
> filename y poner a false el active antes de compilar (para que la
> tabla no se bloqueara). Agregue la informacion, la arregle y "sali".
> Volvi a entrar de nuevo y YA HABIA SALVADO LA MODIFICACION.

OK.

> te agradezco que me hayas enviado la literatura.

no es necesario, acá en la casa tengo otras páginas de la wiki que pude
bajar desde el trabajo de un amigo que tiene internet, si lo deseas te
la puedo enviar.

> Tengo que ponerme para ver como consigo una copia "gratis" del libro
> sobre Lazarus. Son casi 30 Mb y me lo tienen que bajar de noche, pero
> ya veremos.

Aquí en la lista hace unos días alguien habló del manual que está en
ingles y que se debe pagar, creo que esa personal pretendía traducirlo
al español si lo consigo por mediación de un amigo te enviaré una
url .cu para que lo bajes.

Saludos
Maikel

>  
> Saludos,
>  
> Ing. Héctor F. Fiandor Rosario
> hfiandor en infomed.sld.cu
> 
> 
>         ----- Original Message ----- 
>         From: Maikel Enrique Pernia Matos 
>         To: Spanish version of Lazarus List 
>         Sent: Tuesday, May 07, 2013 3:38 AM
>         Subject: Re: [Lazarus-es] tabla sqlite que no se actualiza
>         
>         
>         Colegas:
>         Disculpen el post anterior llevaba un error pues si se utiliza
>         TSqlite3Dataset, no hace falta utilizar el TTransaction el
>         codigo
>         correcto sería:
>         <code>
>           TForm1 = class(TForm)
>             SQLite3Connection1: TSQLite3Connection;
>             SQLQuery1: TSQLQuery;
>             SQLTransaction1: TSQLTransaction;
>             procedure SQLQuery1AfterPost(DataSet: TDataSet);
>         
>         procedure TForm1.SQLQuery1AfterPost(DataSet: TDataSet);
>         begin
>            SQLQuery1.ApplyUpdates;
>            SQLTransaction1.CommitRetaining;
>         end; 
>         
>         </code>
>         
>         
>         
>         El mar, 07-05-2013 a las 11:28 -0400, Maikel Enrique Pernia
>         Matos
>         escribió:
>         > Hector:
>         > Si utilizas los componentes predeterminados prueba con esto
>         > 
>         > procedure TForm1.Sqlite3Dataset1AfterPost(DataSet:
>         TDataSet);
>         > begin
>         >    Sqlite3Dataset1.ApplyUpdates();
>         >    transaction.CommitRetaining;
>         > end;
>         > 
>         > Saludos
>         > Maikel
>         > 
>         > El mar, 07-05-2013 a las 09:48 -1200, Héctor F. Fiandor
>         Rosario
>         > escribió:
>         > > Estimados colegas:
>         > >  
>         > > descubri que hago un cambio a un dato en el DBEdit,
>         despues cliqueo
>         > > Post en la barra navigator y cierro la aplicacion, al
>         volverla a
>         > > abrir, no se registro el cambio.
>         > >  
>         > > tengo otra aplicacion hecha algunos meses atras, donde
>         esto funciona
>         > > al kilo.
>         > >  
>         > > tengo la propiedad Save on close como true en la tabla en
>         asociada.
>         > >  
>         > > por favor, como decimos por aca, tirenme un cabo.
>         > >  
>         > > saludos y dandole las gracias por anticipado,
>         > >  
>         > > Ing. Héctor F. Fiandor Rosario
>         > > hfiandor en infomed.sld.cu
>         > > _______________________________________________
>         > > Lazarus-es mailing list
>         > > Lazarus-es en lists.lazarus.freepascal.org
>         > >
>         http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>         > 
>         
>         
>         
>         --
>         
>         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
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es



--

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/




More information about the Lazarus-es mailing list