Frage

Ich bin derzeit mit einer MS Access MDB-Datei für eine verteilbare App.

Vor einiger Zeit fand ich über SQLite aus, als Alternative zu meiner Lösung, aber die Binärdateien bieten sie bieten nicht die possiblilty sie als ein Objekt in VB6 zu verwenden. (Oder zumindest konnte ich nicht herausfinden, wie).

Hat jemand einen Link hat, oder könnte ein wenig über die Verbindung zu einem SQLite DB von VB6 und ihre Unterschiede bei der Verwendung von ADO?

schreiben
War es hilfreich?

Lösung

Hier ist ein Link mit Code-Beispiele:

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

Andere Tipps

Ich habe eine Zeit lang auf einem VB6 app mit SQLite gearbeitet und ich habe ein paar Methoden zu verbinden versucht.

Lassen Sie mich zusammenfassen und geben, was meiner Meinung nach ist die beste Antwort.

Methoden erwähnt von Ben Hoffstein, gobansaor und David W. Fenton sind gut, aber sie verlassen sich auf proprietäre Schnittstellen sqlite.

OLE DB-Provider von CherryCity sind gut, weil es eine Standard-Schnittstelle verwenden, aber sie haben ein pro Installation Lizenzsystem, das es wirklich teuer macht wirklich. Und ihre Website nicht im Voraus sagen, dass das Produkt hat Lizenzgebühren. Sie nur herausfinden, wenn Sie tatsächlich ein Produkt für die Entwicklung gekauft und möchte es verteilen.

Schließlich ist es die absolut frei wie in sowohl Bier als auch Sprache, SQLite ODBC-Treiber unter http: // www.ch-werner.de/sqliteodbc/ . Es funktioniert ziemlich gut und ich habe nicht alle wichtigen Fragen nur noch anzutreffen. Das einzige kleine Problem, das ich je gesehen habe ist, dass es nicht mehr Anweisungen in einem Aufruf ermöglichen, so müssen Sie nur es trennen. Darüber hinaus kann der Fahrer den DSN-weniger-Ansatz, der alles so viel einfacher macht.

Also, imo, ist die ODBC-Treiber wirklich die beste Lösung.

Oder versuchen DHSqlite http://www.thecommon.net/2.html aus Datenhaus ..

“... als schnelle Alternative entwickelt ADO, das superschnelle SQLite-Engine Einkapseln ... "

"... Mit nur zwei Dlls Sie einen vollständigen Ersatz für die gesamte ADO / JET-Umgebung erhalten - kein Abhängigkeits hazzle mehr ..."

.. es ist kostenlos (aber nicht Open Source).

Nur ein FYI zu diesem Thema / Frage ...

Der Link FreeVB Code geschrieben verwendet AGS_SQLite.dll die nur SQLite 2.x (eingeschränkte Funktionalität)

unterstützt

Der mitgelieferte DHSqlite Link unterstützt SQLite 3.x als auch und ist eine bessere Empfehlung für alle, SQLite Entwicklung mit VB6 (Classic) zu tun ... Es gibt Code-Beispiele für diese SQLite-Engine unter http://www.thecommon.net/3.html

Ich hoffe, das hilft!

COM Wrappers / Visual Basic DLLs in der Mitte diese Seite irgendeine Lösung verwendbar mit VB6 auflistet.

Und ja, ich bin mit VB6 noch steckte Entwicklung: (

Es scheint möglich zu sein, direkt auf die SQLite-Funktionen in sqlite.dll mit VB Declare Sub oder Declare Function Syntax zugreifen zu können.

Ein Beispiel, das dies tut, ist hier zu sehen: https://github.com/RobbiNespu/VB6-Sqlite3

Key-Extrakt:

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)

(ich weiß nicht, ob das Beispiel für die Produktion Code wirklich bereit ist).

Der vbRichClient-Framework (derzeit in der Version 5) ist ein kostenlos zur Verfügung Satz von 3 Dlls: vbRichClient5.dll vb_cairo_sqlite.dll DirectCOM.dll Die vbRichClient5.dll ist in VB6 geschrieben -. Und eine spätere Frei Beschaffung unter LGPL ist geplant

Sein Hauptzweck ist, von so viele MS-COM-Abhängigkeiten wie möglich, mit dem Ziel vor Augen zu entkoppeln, zu erreichen, einen Selbst Hosting Zustand später leichter auf, wenn die Begleit (VB6-kompatibel) Compiler abheben wird. Und wenn einfache Plattform-Portabilität zu erreichen (für den Compiler und die neuen Klasse-basierten Runtime) ist das Ziel, dann müssen wir mit einer solchen Entkopplung-Rahmen bereits in der Übergangs- und Planungsphase.

Beginn der Arbeit

So bietet das lib einen modernen GUI-Framework, das funktioniert Vektor-basierte, die kairo-Bibliothek unter der Verwendung von Haube (kein GDI / GDI + oder DirectX hier ... und auch nichts von dem MS-CommonControls.dll berührt wird).

Der andere größere Teil, der oft und in „typischen VB-Anwendungen“ verwendet, benötigt wird, ist einfach DB-Zugang (In der Regel erfolgte über eine zugehörige Desktop-DB-Datei in * .mdb-Format). Also, was auch der Rahmen bietet, ist eine einfache (und fast ADO-kompatible) Ersatz für die MS-JET-Motor zu verwenden. Dies ist, was macht up den anderen größeren Teil des zugehörigen Satelliten-binary. vb_cairo_sqlite.dll ... die SQLite-Engine

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top