2008-09-21 4 views
9

В настоящее время я использую файл MSDccess mdb для распространяемого приложения.Использование SQLITE с VB6

Некоторое время назад я узнал о SQLite, как альтернативе моему решению, но двоичные файлы, которые они предоставляют, не дают возможности использовать их в качестве объекта в VB6. (Или, по крайней мере, я не мог понять, как).

Кто-нибудь имеет ссылку или может написать немного о подключении к SQLite DB от VB6 и его различиях с использованием ADO?

ответ

5

Или попробуйте DHSqlite http://www.thecommon.net/2.html из Datenhaus ..

»... разработан как быстрый альтернативный к ADO, инкапсулирования супер- быстрый SQLite-двигатель ... »

« ... только с двумя Dlls вы получаете полную замену на всю среду ADO/JET - без зависимостей-hazzle больше ... »

.. бесплатно (но не с открытым исходным кодом).

7

Я работаю над приложением VB6 с SQLite некоторое время, и я пробовал несколько способов подключения.

Итак, позвольте мне подвести итог и дать, на мой взгляд, лучший ответ.

Способы, упомянутые Бен Хоффстаем, гобансаором и Дэвидом У. Фентоном, хороши, но они полагаются на собственные интерфейсы для sqlite.

Поставщик OLEDB от CherryCity хорош тем, что использует стандартный интерфейс, но у них есть лицензионная система для каждой установки, что делает ее действительно дорогой. И их веб-сайт не заявляет заранее, что у продукта есть роялти. Вы узнаете, когда вы действительно купили продукт для разработки и хотите его распространять.

Наконец-то есть абсолютно бесплатно, как в пиво, так и в речи, драйвер SQLite ODBC по адресу http://www.ch-werner.de/sqliteodbc/. Он работает очень хорошо, и пока я не сталкивался с какими-либо серьезными проблемами. Единственная незначительная проблема, с которой я столкнулся, заключается в том, что она не позволит нескольким операторам в одном вызове, поэтому вам просто нужно отделить ее. Кроме того, драйвер позволяет использовать DSN-less, что делает все намного проще.

Итак, imo, драйвер ODBC - действительно лучшее решение.

3

Просто FYI на эту тему/вопрос ...

Код канала FreeVB размещен использует AGS_SQLite.dll, который поддерживает только SQLite 2.x (ограниченная функциональность)

Ссылка DHSqlite обосновывает SQLite 3 .x, а также является лучшей рекомендацией для тех, кто занимается разработкой SQLite с помощью VB6 (Classic) ... Есть примеры кода для этого двигателя SQLite по адресу http://www.thecommon.net/3.html

Надеюсь, что это поможет!

0

COM Wrappers/Visual Basic DLL раздел в середине this page перечисляет некоторое решение, которое можно использовать с VB6.

И да, я все еще застряли развивается VB6 :(

0

Это, как представляется, можно непосредственно получить доступ к функциям SQLite в sqlite.dll с помощью VB Declare Sub или Declare Function синтаксис.

Пример, который делает это показано здесь: https://github.com/RobbiNespu/VB6-Sqlite3

Key экстракт:

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) 

(Я не знаю, действительно ли этот пример готов для производственного кода).

 Смежные вопросы

  • Нет связанных вопросов^_^