Update a la nueva version de Sqlite3
Nuevas implementaciones para Harbour.
No me habia dado tiempo todavia de abordar ciertas características de la version 3.3, cuando WenCheng me informó de una nueva versión.
Actualicé mi versión y miré por encima que es lo que habían metido de nuevo.
Bien, en el CVS de T-Gtk ya esta el servidor 3.4, o en la respectiva web de sqlite.
La novedad es que ahora podemos controlar mejor el commit y el rollback, y ya he realizado este fin de semana los wrappers para los usuarios de Harbour.
Asi , por ejemplo, para controlar los commits o los rollback, simplemente con ;
sqlite3_commit_hook( db, {|| Commit_Hook() } )
Además, si devolvemos .F., hará un rollback.
Y , para dar información sobre el rollback, esta funcion;
sqlite3_rollback_hook( db, {||Qout( "Rollback...") } )
Además, en esta actualización se a portado más funciones, en especial la función sqlite3_get_table().
El funcionamiento es un pelin diferente a la wrapper original,
pues nos bajo Harbour nos va a devolver el array completo de la sentencia, quedando asi;
aResult := sqlite3_get_table( db, cSql, @nRow, @nCol, @cError, lHeader )
aResult
El resultado puede ser un array multidimensional o unidimensional, o un array vacio si no ya datos que cumplan la condición de la
sentencia.
db
->es la db abierta.
cSql
-> es la sentencia, "Select * from test;"
nRow, nCol
-> nos informa de las filas y columnas,
cError
-> Informa si hubo error o NIL.
lHeader
-> Este es por que me intuyo que los programadores van
a estar peleando de si o no, asi que dejamos preparados para
que escojan lo que quieran.
Sqlite, por defecto, devuelve el array con el header al inicio,
nosotros podemos coger el array devuelto con él o sin él.
En fin, haber si termino cuanto antes las funciones, para empezar ya al desarrollo de la clase o las distintas clases, porque seguramente se harán varias para manejarlo de diferente manera.
Escrito por Rafa Carmona a las 24 de Junio 2007 a las 11:36 PM | TrackBackThefull
Escrito por Leo a las 26 de Junio 2007 a las 04:34 PM