Database 在VB6中使用SQLITE
我目前正在为可再发行的应用程序使用MSAccess mdb文件 不久前,我发现了SQLite,作为我的解决方案的替代方案,但它们提供的二进制文件无法在VB6中将它们用作对象。(或者至少我不知道怎么做)Database 在VB6中使用SQLITE,database,sqlite,vb6,ado,Database,Sqlite,Vb6,Ado,我目前正在为可再发行的应用程序使用MSAccess mdb文件 不久前,我发现了SQLite,作为我的解决方案的替代方案,但它们提供的二进制文件无法在VB6中将它们用作对象。(或者至少我不知道怎么做) 是否有人有链接,或者可以写一些关于从VB6连接到SQLite DB的内容,以及它与使用ADO的区别?下面是一个带有代码示例的链接: 或尝试Datenhaus的DHSqlite “…作为一种快速的替代品开发 对于ADO,封装超快速SQLite引擎 “…仅使用两个DLL,您就可以完全替代整个ADO/J
是否有人有链接,或者可以写一些关于从VB6连接到SQLite DB的内容,以及它与使用ADO的区别?下面是一个带有代码示例的链接: 或尝试Datenhaus的DHSqlite “…作为一种快速的替代品开发 对于ADO,封装超快速SQLite引擎 “…仅使用两个DLL,您就可以完全替代整个ADO/JET环境-不再有依赖性混淆…”
…它是免费的(但不是开源的)。我使用SQLite开发VB6应用程序已经有一段时间了,我尝试了几种连接方法 因此,让我总结一下,并给出我认为最好的答案 Ben Hoffstein、gobansaor和David W.Fenton提到的方法很好,但它们依赖于sqlite的专有接口 CherryCity的OLEDB提供商很好,因为它使用标准接口,但他们有每安装一次的版税系统,这使得它非常非常昂贵。他们的网站也没有预先声明产品有版税。你只知道你什么时候真正购买了产品进行开发,并想分销它 最后是啤酒和语音中的绝对免费的SQLite ODBC驱动程序。它工作得很好,我还没有遇到任何重大问题。我遇到的唯一一个小问题是,它不允许在一个调用中使用多个语句,因此您只需将其分隔开。此外,驱动程序允许使用DSN较少的方法,这使一切变得更加容易
因此,在我看来,ODBC驱动程序确实是最好的解决方案。仅供参考 发布的FreeVB代码链接使用AGS_SQLite.dll,它只支持SQLite 2.x(有限功能) 提供的DHSqlite链接也支持SQLite 3.x,对于任何使用VB6(经典)进行SQLite开发的人来说,这是一个更好的建议。。。下面是这个SQLite引擎的代码示例
希望有帮助 中间的COM Wrappers/visualbasic dll部分列出了一些可用于VB6的解决方案
是的,我仍然在用VB6开发:(似乎可以使用VB
Declare Sub
或Declare Function
语法直接访问SQLite.dll
中的SQLite函数
此处显示了一个执行此操作的示例:
关键摘录:
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)
(我不知道该示例是否真的可以用于生产代码)。vbRichClient框架(目前为版本5)是一套免费的3个DLL: vbRichClient5.dll vb\u cairo\u sqlite.dll DirectCOM.dll vbRichClient5.dll是用VB6编写的,并且计划在LGPL下进行更晚的开源 它的主要目的是为了尽可能多地从MS COM依赖关系中分离出来,并牢记目标, 为了以后更容易实现自托管状态,将在附带的(VB6兼容)编译器启动时启动。 如果更容易实现平台可移植性(对于编译器和新的基于类的运行时)是目标, 然后,我们需要开始使用这种已经处于过渡和规划阶段的解耦框架 因此,lib提供了一个基于向量的现代GUI框架,使用 引擎盖(此处没有GDI/GDI+或DirectX…也没有触及MS-CommonControls.dll) “典型VB应用程序”中经常需要并使用的另一个较大部分是数据库访问 (通常通过附带的*.mdb格式的桌面数据库文件完成)。因此,框架还提供, 是MS JET引擎的一个易于使用(并且几乎与ADO兼容)的替代品 在附带的卫星二进制文件的另一个较大部分:vb_cairo_sqlite.dll…sqlite引擎