Pergunta

Atualmente, estou usando um arquivo mdb MSAccess para um aplicativo redistribuível.

Um tempo atrás eu descobri sobre SQLite, como uma alternativa para a minha solução, mas os binários que eles fornecem não oferecem a possiblilty de usá-los como um objeto no VB6. (Ou pelo menos eu não conseguia entender como).

Alguém tem um link, ou poderia escrever um pouco sobre a ligação a um SQLite DB de VB6, e suas diferenças com o uso de ADO?

Foi útil?

Solução

Aqui está um link com exemplos de código:

http://www.freevbcode.com/ShowCode.asp?ID=6893

Outras dicas

Eu estive trabalhando em um aplicativo VB6 com SQLite por um tempo e eu tentei um par de métodos de conexão.

Então, deixe-me resumir e dar, o que na minha opinião é, a melhor resposta.

Métodos mencionado por Ben Hoffstein, gobansaor e David W. Fenton são bons, mas eles contam com interfaces proprietárias para sqlite.

provedor OLEDB por CherryCity é bom porque é usando uma interface padrão, mas eles têm um sistema de royalties por instalação, que faz com que seja muito, muito caro. E seu site não indicar antecipadamente que o produto tem royalties. Você só descobre quando você realmente comprou o produto para o desenvolvimento e quer distribuí-lo.

Finalmente, há o absolutamente livre como em cerveja e discurso, driver ODBC SQLite em http: // www.ch-werner.de/sqliteodbc/. Ele funciona muito bem e eu não encontrei todas as questões importantes ainda. A única questão menor que eu encontrei é que ele não vai permitir que várias instruções em uma chamada, de modo que você só tem que separá-lo. Além disso, o driver permite a abordagem sem DSN, o que torna tudo muito mais fácil.

Assim, imo, o driver ODBC é realmente a melhor solução.

Ou tente DHSqlite http://www.thecommon.net/2.html de Datenhaus ..

" ... desenvolvido como uma alternativa rápida a ADO, encapsular o SQLite-motor super-rápido ... "

"... Com apenas duas DLLs obter uma substituição completa para o ADO inteira / JET-ambiente - nenhuma dependência-hazzle mais ..."

.. é gratuito (mas não opensource).

Apenas um FYI sobre este tema / pergunta ...

O link código FreeVB postou usos AGS_SQLite.dll que suporta apenas 2.x SQLite (funcionalidade limitada)

O link DHSqlite fornecidos suportes SQLite 3.x bem e é a melhor recomendação para qualquer um que faz o desenvolvimento SQLite com VB6 (Classic) ... Há exemplos de código para este motor SQLite em http://www.thecommon.net/3.html

Espero que ajude!

O COM Wrappers / Visual Basic DLLs seção no meio da esta página listas alguns utilizáveis ??solução com VB6.

E sim, eu ainda estou preso em desenvolvimento com VB6: (

Parece ser possível aceder directamente as funções SQLite em sqlite.dll usando Declare Sub VB ou sintaxe Declare Function.

Um exemplo que faz isso é mostrado aqui: https://github.com/RobbiNespu/VB6-Sqlite3

extrato chave:

Public Declare Sub sqlite3_open Lib "sqlite.dll" (ByVal FileName As String, ByRef handle As Long)
Public Declare Sub sqlite3_close Lib "sqlite.dll" (ByVal DB_Handle As Long)
Public Declare Function sqlite3_last_insert_rowid Lib "sqlite.dll" (ByVal DB_Handle As Long) As Long
Public Declare Function sqlite3_changes Lib "sqlite.dll" (ByVal DB_Handle As Long) As Long
Public Declare Function sqlite_get_table Lib "sqlite.dll" (ByVal DB_Handle As Long, ByVal SQLString As String, ByRef ErrStr As String) As Variant()
Public Declare Function sqlite_libversion Lib "sqlite.dll" () As String
Public Declare Function number_of_rows_from_last_call Lib "sqlite.dll" () As Long
...
query = "SELECT * FROM users"

row = sqlite_get_table(DBz, query, minfo)

(Eu não sei se esse exemplo é realmente pronto para o código de produção).

O vbRichClient-Quadro (atualmente na versão 5), é um conjunto disponível de 3 DLLs: vbRichClient5.dll vb_cairo_sqlite.dll DirectCOM.dll O vbRichClient5.dll é escrito em VB6 -. E depois Abrir-Sourcing sob LGPL está prevista

Seu principal propósito é, de dissociar de tantos MS-COM-dependências quanto possível, com o objetivo em mente, para atingir um estado de auto-hospedagem mais fácil, mais tarde, quando o acompanha (VB6-compatível) Compiler vai decolar. E se mais fácil de alcançar plataforma de portabilidade (para o compilador e o novo Runtime base-Class) é o objetivo, então temos de começar a trabalhar com um tal desacoplamento-quadro já no planejamento da fase transition- e.

Assim, as ofertas lib um moderno GUI-quadro que funciona Vector-based, usando o cairo-biblioteca sob a capa (sem GDI + GDI / ou DirectX aqui ... e também nada do MS-CommonControls.dll é tocado).

A outra parte maior, que é muitas vezes necessário e usado dentro "típicas VB-Aplicações" é fácil DB-Access (Geralmente feito através de uma Desktop-DB-File acompanha em * .mdb-Format). Então, o que a estrutura também oferece, é uma substituição fácil de usar (e quase compatível com o ADO) para o MS-JET-Engine. Isto é, o que faz -se a outra maior parte do acompanhamento por satélite de binário:. vb_cairo_sqlite.dll ... o SQLite-motor

http://www.vbrichclient.com/#/en/Downloads.htm

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top