我目前正在为可再发行的应用程序使用MSAccess mdb文件。

前段时间我发现了SQLite,作为我的解决方案的替代品,但是他们提供的二进制文件并不能提供将它们用作VB6中的对象的可能性。 (或者至少我无法弄清楚如何)。

是否有人有链接,或者可以写一些关于从VB6连接到SQLite DB的内容,以及它与使用ADO的区别?

有帮助吗?

解决方案

以下是代码示例的链接:

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

其他提示

我一直在使用SQLite的VB6应用程序工作了一段时间,我尝试了几种连接方法。

所以,让我总结并给出,我认为最好的答案。

Ben Hoffstein,gobansaor和David W. Fenton提到的方法都很好,但它们依赖于sqlite的专有接口。

CherryCity提供的OLEDB提供商很好,因为它使用的是标准接口,但它们有一个每个安装版税系统,这使得它非常非常昂贵。他们的网站并没有预先声明该产品具有版税。您只能了解何时实际购买产品以进行开发并希望分发它。

最后, http://中的SQLite ODBC驱动程序中有完全免费的啤酒和语音。 www.ch-werner.de/sqliteodbc/ 。它工作得很好,我还没有遇到任何重大问题。我遇到的唯一一个小问题是它不允许在一次调用中使用多个语句,因此您只需将其分开即可。此外,该驱动程序允许采用无DSN方法,这使得一切变得更加容易。

所以,imo,ODBC驱动程序确实是最好的解决方案。

或者尝试DHSqlite http://www.thecommon.net/2.html Datenhaus ..

" ...开发为快速替代方案 到ADO,封装了超快的SQLite引擎......“

" ...只有两个Dll你可以完全替换整个ADO / JET环境 - 不再依赖halus ......“

..它是免费的(但不是开源)。

关于这个主题/问题的仅供参考......

发布的FreeVB代码链接使用AGS_SQLite.dll,它只支持SQLite 2.x(功能有限)

提供的DHSqlite链接也支持SQLite 3.x,对于使用VB6(经典)进行SQLite开发的人来说是更好的建议......这个SQLite引擎的代码示例位于 http://www.thecommon.net/3.html

希望有所帮助!

COM Wrappers / Visual Basic DLL 部分位于此页面列出了一些可用于VB6的解决方案。

是的,我仍然坚持用VB6开发:(

似乎可以使用VB Declare Sub Declare Function 语法直接访问 sqlite.dll 中的SQLite函数。

此处显示了执行此操作的示例: https://github.com/RobbiNespu/VB6-Sqlite3

密钥提取:

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-Framework(目前版本为5),是一套免费的3套Dll: vbRichClient5.dll vb_cairo_sqlite.dll DirectCOM.dll vbRichClient5.dll是用VB6编写的 - 计划在LGPL下进行后续的Open-Sourcing。

它的主要目的是,尽可能多地解析MS-COM依赖关系,并考虑到目标, 以后,当附带的(VB6兼容的)编译器将解除时,更容易实现自托管状态。 如果更容易实现平台可移植性(对于编译器和新的基于类的运行时)是目标, 那么我们需要在转型和规划阶段开始使用这种解耦框架。

因此,lib提供了一个现代的GUI-Framework,它使用基于Vector的,使用cairo-library 引擎盖(这里没有GDI / GDI +或DirectX ......也没有触及MS-CommonControls.dll)。

另一个较大的部分,通常需要并在“典型的VB应用程序”中使用。很容易DB-Access (通常在* .mdb格式的随附Desktop-DB-File上完成)。那么框架也提供了什么, 是一种易于使用(并且几乎与ADO兼容)的MS-JET-Engine替代品。这是什么造成的 随附的卫星二进制文件的另一大部分:vb_cairo_sqlite.dll ... SQLite引擎。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top