سؤال

أستخدم حاليًا ملف MSAccess mdb لتطبيق قابل لإعادة التوزيع.

منذ فترة اكتشفت SQLite، كبديل للحل الخاص بي، لكن الثنائيات التي يقدمونها لا توفر إمكانية استخدامها ككائن في VB6.(أو على الأقل لم أتمكن من معرفة كيف).

هل لدى أي شخص رابط، أو يمكنه الكتابة قليلاً عن الاتصال بقاعدة بيانات SQLite من VB6، واختلافاته مع استخدام ADO؟

هل كانت مفيدة؟

المحلول

إليك رابط يحتوي على أمثلة التعليمات البرمجية:

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

نصائح أخرى

لقد كنت أعمل على تطبيق VB6 باستخدام SQLite لفترة من الوقت وقد جربت طريقتين للاتصال.

لذلك اسمحوا لي أن ألخص وأقدم ما هو في رأيي أفضل إجابة.

الطرق التي ذكرها بن هوفشتاين وجوبانسور وديفيد دبليو.فنتون جيدة، لكنها تعتمد على واجهات الملكية لSqlite.

يعد مزود OLEDB من CherryCity جيدًا لأنه يستخدم واجهة قياسية، ولكن لديهم نظام حقوق ملكية لكل تثبيت، مما يجعله مكلفًا للغاية.ولا يذكر موقعهم الإلكتروني مقدمًا أن المنتج له حقوق ملكية.لا تكتشف ذلك إلا عندما اشتريت المنتج بالفعل للتطوير وترغب في توزيعه.

أخيرًا، يوجد برنامج تشغيل SQLite ODBC المجاني تمامًا كما هو الحال في كل من البيرة والكلام http://www.ch-werner.de/sqliteodbc/ .إنه يعمل بشكل جيد ولم أواجه أية مشكلات كبيرة حتى الآن.المشكلة البسيطة الوحيدة التي واجهتها هي أنها لن تسمح ببيانات متعددة في مكالمة واحدة، لذا عليك فقط فصلها.بالإضافة إلى ذلك، يسمح السائق بنهج DSN الأقل، مما يجعل كل شيء أسهل بكثير.

لذا، فإن برنامج تشغيل ODBC هو الحل الأفضل حقًا.

أو جرب DHSqlite http://www.thecommon.net/2.html من داتنهاوس..

"... تم تطويره كبديل سريع لـ ADO ، مما يلفت محرك SQLITE-Legine فائق السرعة ..."

"...مع اثنين فقط من ملفات Dll، يمكنك الحصول على بديل كامل لبيئة ADO/JET بأكملها - لم تعد هناك أي تبعية مزعجة بعد الآن..."

..إنه مجاني (لكنه ليس مفتوح المصدر).

مجرد معلومات حول هذا الموضوع/السؤال ...

يستخدم رابط كود FreeVB المنشور AGS_SQLite.dll الذي يدعم SQLite 2.x فقط (وظائف محدودة)

يدعم رابط DHSqlite المقدم SQLite 3.x أيضًا وهو توصية أفضل لأي شخص يقوم بتطوير SQLite باستخدام VB6 (الكلاسيكي)...توجد أمثلة على التعليمات البرمجية لمحرك SQLite هذا على http://www.thecommon.net/3.html

امل ان يساعد!

ال أغلفة COM / مكتبات الارتباط الحيوي (DLL) لـ Visual Basic القسم في منتصف هذه الصفحة يسرد بعض الحلول التي يمكن استخدامها مع VB6.

ونعم، ما زلت عالقًا في التطوير باستخدام VB6 :(

يبدو أنه من الممكن الوصول مباشرة إلى وظائف SQLite في sqlite.dll باستخدام لغة VB Declare Sub أو Declare Function بناء الجملة.

يظهر هنا مثال على ذلك: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

إن الأغراض الرئيسية هي ، أن تفصل عن أكبر عدد ممكن من عمليات الاعتماد على MS-Com ، مع وضع الهدف في الاعتبار ، لتحقيق حالة استضافة ذاتية أسهل في وقت لاحق ، عندما يرفع المترجم المصاحب (المتوافق مع VB6).وإذا كان الهدف أسهل في تحقيق قابلية المنصات (بالنسبة للمترجم ووقت التشغيل الجديد القائم على الفصل) هو الهدف ، فسنحتاج إلى البدء في العمل مع مثل هذا الإرهاق المنفصل بالفعل في مرحلة الانتقال والمرحلة.

لذلك ، يقدم LIB عملًا عصريًا لـ GUI-Framework يعمل على أساس المتجه ، باستخدام مكتبة القاهرة تحت الغطاء (لا يوجد GDI/GDI+ أو DirectX هنا ...وأيضًا لم يتم لمس أي شيء من MS-CommonControls.dll).

الجزء الأكبر الآخر ، والذي غالبًا ما يكون مطلوبًا ويستخدم ضمن "تطبيقات VB النموذجية" سهلة الوصول إلى DB (عادةً ما يتم على سطح المكتب المصاحب لها في *.mdb-format).لذا فإن ما يوفره الإطار أيضًا ، هو بديل سهل الاستخدام (ومتوافق تقريبًا مع ADO) لمحرك MS-JET.هذا ، ما يشكل الجزء الأكبر الآخر من القمر الصناعي المصاحب:vb_cairo_sqlite.dll ...محرك SQLite.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top