Página principal
Base de datos autores
SQLite y wxwidgets
Linux y windows
En el anterior artículo había realizado
una base de datos de autores utilizando la consola, ahora toca hacer
un entorno gráfico con la librería wxwidgets.
Existe una librería llamada wxSQLite, pero no he querido
utilizarla.
He utilizado parte del código realizado en el programa hecho para
consola para no complicarme mucho.
El programa se realiza en Linux, y cuando funciona bien se intenta
compilar en Windows.
El problema ocurre al utilizar las diferentes versiones de las
librerías wxwidgets.
Ejemplo:
En la librería 3.1.1 simplemente se imprime un puntero de cadena
con:
MiLista->SetItem(z,
1, sqlite3_column_text(resultado, 0));
Si utilizamos 2.8.12 debemos emplear:
sprintf(Stemporal,"%s
",sqlite3_column_text(resultado, 0));
StringTmp=wxString::FromUTF8(Stemporal);
MiLista->SetItem(z, 1, StringTmp);
Esto es solo lo que he tenido que cambiar para compilar en las dos
librerías.
He visto que en Windows y con la librería 3.1.1 el repintado
de wxListCtrl no funciona bien.
Por lo demás funciona todo bien y se puede ver el resultado en las
imágenes.
Windows.
Linux en Debian 9
En Linux pero bajo Wine.
PROGRAMA
Saludos.
Juan Galaz
Bibliografía:
https://poesiabinaria.net/2015/03/usando-sqlite-en-nuestros-programas-en-cc/
http://apuntes-para-no-olvidar.blogspot.com/2012/01/conectar-con-una-bd-de-sqlite-en-c.html
http://www.aprendoencasa.com/index.php/2014/02/12/base-de-datos-sqlite-con-el-lenguaje-de-programacin-c/