PDA

Ver la Versión Completa : acceso a datos sqlite3 lazarus


anubis
18-11-2009, 21:29:08
Hola de nuevo.
Por alguna razon desconocida mi programa agenda no va biene n lazarus, el caso que en delphi, cuando hice otro programa si me funcionaban.

Se que son preguntas basicas pero le doy vueltas y vueltas.

TEngo dos versiones:
en la primera tenia un sqlite3dataset donde le ponia la base de datos, la primary key, tablas, etc y autoincrement.
De ahi lo de seimpre, le meto un datasource conectado a esta y va bien la cosa, me deja guardar los registros.

En segunda quite eso y le puse un sqlite3connection, ahi le pongo el nombre de la base de datos.
Pongo un sqlquery conectado al conection, un datasource conectado a este y un transaction, ahi el filtrado va bien pero no me deja guardar porque el campo que tengo como autoincrement (amen de que tampoco me deja guardar campos memo porque no los maneja, con el otro procedimiento si) no me lo agarra de ninguna forma.
En el dbgrid si aparecen, pero si salgo y vuelvo a entrar se ve que no ha guardado el registro.

Perdonadme la parrafada, pero en estos casos que se usa o cual es el procedimiento, el primero o el segundo porque en el 1º me deja guardar pero no puedo usar un query y en el segundo no me deja guardar pero si puedo usar filtrados.

gracias por vuestra paciencia

gerardus
19-11-2009, 17:00:51
Hola,

no he usado los componentes de datos de Lazarus (solo los he probado).
Si no recuerdo mal, con el TSQLQuery, tienes que proporcionar las sentencias SQL para Select, Update, Delete e Insert.
Luego, llamar TSQLQuery.ApplyUpdates para guardar los datos, y TSQLTransaction.commit para validar la transacción.

Cordialmente,

Gerard.

anubis
10-12-2009, 18:12:29
Gracias, al final he instalado los componentes zeos y me van bien.
un saludo