أنا شخصيا غالبا ما أقوم ببعض برامج قواعد البيانات، لذلك لدي فهم عميق لمشكلة كيفية التفاعل بين البرامج وقاعدة البيانات، لأنه عندما يتصل VB بقاعدة البيانات، عادة ما يكون ثابتا، أي المسار الذي يتم تخزين قاعدة البيانات فيه تم إصلاحه، مثل عند استخدام VB's DATA وadodc وDataEnvironment وما إلى ذلك للاتصال بقاعدة البيانات، إذا تم تغيير مسار تخزين قاعدة البيانات، فلن يتم العثور على المسار، وهو أمر مزعج حقًا.
حل المؤلف هو استخدام app.path لحل هذه المشكلة.
1. استخدم عنصر تحكم البيانات للاتصال بقاعدة البيانات، كما يلي:
ضع في عملية form_load():
PRivateform_load()
تعريف DimstrAsString
str=App.Path
IfRight(str,1)<>"/"ثم
شارع = شارع "/"
EndIf
data1.databasename=str&"/اسم قاعدة البيانات"
data1.recordsource = "اسم جدول البيانات"
data1.refresh
تابع
معنى هذه الجمل هو فتح قاعدة البيانات في الدليل الذي يعمل فيه البرنامج الحالي.
تحتاج فقط إلى التأكد من أن قاعدة البيانات الخاصة بك موجودة في الدليل الذي يوجد به برنامجك.
2. استخدم adodc (ADODataControl) لارتباط قاعدة البيانات:
شكل_خاص_تحميل()
تعريف DimstrAsString
str=App.Path
IfRight(str,1)<>"/"ثم
شارع = شارع "/"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
Adodc1.ConnectionString=str
Adodc1.CommandType=adCmdText
Adodc1.RecordSource = "اختر * fromtable3"
Adodc1.Refresh
endub
3. استخدم DataEnvironment لربط قاعدة البيانات
يمكنك وضع في هذه العملية:
OnErrorResumeNext
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close'إذا كان مفتوحًا، أغلق
EndIf
'i=InputBox("الرجاء إدخال رقم الصديق:"، "أدخل")
'Ifi = "" ثم ExitSub
DataEnvironment1.Connection1.OpenApp.Path&"/userdatabase/tsl.mdb"
DataEnvironment1.rsCommand1.Open"select*fromtable3where number='"&i&"'"
'SetDataReport2.DataSource=DataEnvironment1
'DataReport2.DataMember = "command1"
'DataReport2.show
endub
4. البرمجة باستخدام ADO (ActiveXDataObjects):
إنشاء اتصال:
dimconnasnewadodb.connection
dimrsasnewadodb.recordset
ديمستر
str=App.Path
IfRight(str,1)<>"/"ثم
شارع = شارع "/"
EndIf
str="Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource="&str&"/tsl.mdb"
conn.openstr
rs.cursorlocation=aduseclient
rs.open "اسم جدول البيانات"، conn، adopenkeyset.adlock متشائم
إغلاق قاعدة البيانات بعد الاستخدام:
conn. Close
setconn=لا شيء->