SQLite DBX4 Driver

October 24th, 2009 Leave a comment Go to comments

Aqui está o driver DBX4 para SQLite, construído na série de artigos publicados na revista Active Delphi (Edições 56 a 60). Se você quer aprender a fazer um destes, sugiro que compre as edições da revista e leia atentamente a série de artigos.

Se é curioso o suficiente, abaixo está o código fonte completo, para Delphi 2007. Algumas adaptações são necessárias para Delphi 2009, nada muito complicado. Algumas assinaturas de funções mudaram e é necessário ajustar.

Se você tem um projeto que usará banco local, sem necessidade de algo mais complicado, sugiro que use este driver. Ele é maduro e rápido o suficiente para estes casos! Sem falar que a distribuição do SQlite é a mais fácil possível: Só a dll.

Inclusive, a Dll pode ser linkada estaticamente. Então não é necessário nem a dll. Existem alguns .obj’s necessários circulando por aí na internet. Se você alterar a unit SQLite3.pas para fazer isso, queira por gentileza disponibilizar para nós.

Limitações

O driver é estável o suficiente para ser usado, mas não implementa todos os recursos do SQLite além de não fazer mapeamento para todos os tipos de campos do Delphi.

Campos como TDateField, TTimeField devem ser tratados como strings. Afinal, o SQLite não tem este tipo de campo também, oras. Mas é possível estender o driver para fazer este mapeamento, como expliquei nos artigos.

Por último, peço que use por sua própria conta e risco. Se encontrar algum problema e fizer uma correção, por favor, publique aqui nos comentários.

  1. igor thurler
    December 17th, 2009 at 16:50 | #1

    Ótima iniciativa…parabéns
    Quais os ajustes necessários para executar o driver no delphi 2009?

  2. December 18th, 2009 at 15:43 | #2

    Igor,

    Você pode perceber os ajustes necessários abrindo o projeto e compilando. São apenas algumas assinaturas de funções que mudaram de WideString para String devido ao suporte direto a UTF8. Se puder compartilhar o código depois de corrigido agradeço!

  1. No trackbacks yet.