07-10-18, 12:46 AM
(07-10-18, 12:07 AM)asemshahen5 كتب : جرب هذا بالكلاس :
و عند استدعائها بالكود التالي :كود :
Public Class ConnectionXT
Dim sqlcon As New OleDb.OleDbConnection
Public Sub ConnString(Path As String)
sqlcon = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Path & ";Jet OLEDB:Database Password=;")
If sqlcon.State = ConnectionState.Closed Then
sqlcon.Open()
End If
End Sub
End Class
كود :
Dim StrConn As New ConnectionXT
StrConn.ConnString(Application.StartupPath & "\Database1.accdb")
أشكرك على اهتمامك اخي الفاضل
ولكن هذة الطريقة ستجعلني اكتب كود نص الاتصال في كل دالة من دوال الكلاس وفي كل مرة اقوم باستدعائهم ايضا
الا لو اضفت المكتبة للريفرانس
وايضا اسلوب استدعاء الكلاسات من المكتبة باسلوب ال interface مختلف ولا تنفع معه هذا الاستدعاء
انظر لكود استددعاء كلاس كامل
كود :
Module M_Con_SQL
Dim buffer As Byte() = My.Resources.asdDll
' تحميل الملف
Dim dll As System.Reflection.Assembly = System.Reflection.Assembly.Load(buffer)
'--------------------------------------
' تعريف متغير يعبر عن اسم الكلاس في المشروع الثاني شاملا الاسم الخاص بفضاء الأسماء الموجود بها الكلاس
Dim dllName As String = "asdDll.Cls_Con_SQL"
Dim t As Type = dll.GetType(dllName)
' أخيرا نحصل علي الواجهة كالتالي
Public mycls_SQL As Cls_Con_SQL = CType(Activator.CreateInstance(t), Cls_Con_SQL)
' اخيرا نستخدم الدالة الموجودة في الواجهة
'-------------------------------------
End Moduleوالحمد لله والفضل لله كل شئ يعمل تمام الا هذة المشكلة وهى نص الاتصال
فانا اريده كما اشرت سابقا عن طريق مسار البرنامج برمجيا
وملحوظة لو وضعت المسار الفعلى نصيا يعمل الكود بدون اي مشكلة ولكن لا يصلح ذلك عمليا فنا اريد البرنامج حر التحرك وليس مقيد بمسار ثابت
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي

