Sobre o SGBD SQLite
Quando comecei a usar Harbour migrando sistemas Clipper também procurava um upgrade para as bases de dados DBF, que diga-se de passagem nunca me deixaram na mão com milhares de registros, nada tenho a desabonar esse forma de armazenar informações, mas também queria evoluir um pouco e entre os SGBDs optei por usar Sqlite inicialmente porque o compilador já traz uma versão embarcada dessa lib (isso mesmo esse banco de dados é apenas um conjunto, poderoso, de funções na linguagem C) e como no bom e velho Clipper só enviar um executável para o cliente e “Bingo !!!”, resumindo simplicidade.
Nos meus estudos me deparei com uma ferramenta poderosa chamada Sqlite, recomendo sim, investir em conhecimento nesse SGBD.
Onde baixar o banco de dados Sqlite ?
– Não precisa nem baixar, ele já esta embarcado no Harbour, é, digamos nativo, porque o compilador na verdade converte seu código xBase em C.
Mesmo assim você tem mais duas opções:
- Uma das primeiras coisas que me fez falta foi um frontend para o SGBD (Lembre-se que ele é “apenas” um conjunto de funções em C) e entre as muitas opções free, eu optei por usar o ( https://sqlitestudio.pl/ )
- Ou baixar no site oficial do Sqlite – https://www.sqlite.org/download.html
Nos próximos posts vou publicar alguns tutoriais ( Harbour + Minigui + Sqlite )
Principais funções SQLite
Ao implementar um banco de dados usando o SQLite, será necessário utilizar um número de funções C contidas na biblioteca. Um resumo das funções mais usadas é o seguinte:
sqlite3_open() – Abre o arquivo de banco de dados especificado. Se o arquivo do banco de dados ainda não existir, ele será criado.
sqlite3_prepare_v2() – Prepara uma instrução SQL pronta para execução.
sqlite3_step() – Executa uma instrução SQL previamente preparada pela função
sqlite3_prepare_v2().
sqlite3_column_<type>() – Retorna um campo de dados dos resultados de uma operação de recuperação de SQL em que <type> é substituído pelo tipo de dados dos dados a serem extraídos (text, blob, bytes, int, int16 etc).
sqlite3_finalize() – Exclui uma instrução SQL preparada anteriormente da memória.
sqlite3_exec() – Combina a funcionalidade de sqlite3_prepare_v(), sqlite3_step() e sqlite3_finalize() em uma única chamada de função.
Isso, é claro, representa apenas um pequeno subconjunto das funções disponíveis no SQLite.
Temos um tutorial sobre xBase (Harbour / HMG / SQLite ) acompanhe.
Fontes pesquisa:
https://github.com/harbour/core/archive/master.zip (baixe todo código fonte harbour excelente fonte de estudos)
http://www.sqlite.org/c3ref/funclist.html – Documentação Sqlite
https://github.com/harbour/core/tree/master/contrib/hbsqlit3 – Exemplos Sqlite com Harbour