اهلا وسهلا بكم في اكاديمية القيصــــر

منتدي الفكر العميق
 
الرئيسيةالبوابةاليوميةمكتبة الصورس .و .جبحـثالتسجيلالأعضاءدخول

شاطر | 
 

 الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
فـراشــة الـعـلــم

avatar

عدد الرسائل : 1658
العمر : 32
Localisation : mh
تاريخ التسجيل : 03/04/2007

مُساهمةموضوع: الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL   السبت أبريل 21, 2007 1:04 pm


السلام عليكم ورحمة الله وبركاته

الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL


اثناء بحثي عن طريقة لربط البرنامج بالداتا بيس بطريقة سهلة واحترافية , وذلك عندما واجهتني مشكلة تغير مسار الداتا بيس في برنامجي الاول من مجلد البرنامج الى مجلد اخر الذي كلفني الكثير من الجهد عندما غيرت المسار في كل الفورمات الموجوده !

بينما في هذه الطريقة تستطيع تغير مسار الداتا بيس بكل سهولة وفقط في ملف واحد وهو ملف ال UDL ولا هناك حاجة لتغيرها في كل الفورمات !

سوف اشرح لكم طريقة انشاء الملف وطرق استخدامه في برامجكم ...

سوف ابدا اولا طريقة ربط بالداتا بيس من نوع SQL Server واتابع لاحقا طريقة الربط بال Access والتعامل مع الاداة بالكود









_________________

اللهم إنا نسألك بأسمائك الحسنى وصفاتك العلا أن لاتحرمنا الفردوس الأعلى
اللهم أعتق رقابنا من النار.
اللهم أعز الإسلام والمسلمين،وأذل الشرك والمشركين،واجعل هذا البلد آمناً وسائر بلاد المسلمين.
اللهم لاتفرق جمعنا هذا إلابذنب مغفور،وسعي مشكور،وعيب مستور.
اللهم وحقق لكل منا سُؤْأله،وبلِّغه من خيرَ الدنيا والآخرة.


الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
الغيث1

avatar

عدد الرسائل : 1170
العمر : 35
Localisation : http//cisser2007.jeun.fr
تاريخ التسجيل : 11/04/2007

مُساهمةموضوع: رد: الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL   السبت أبريل 21, 2007 2:05 pm

ما شاء الله عليك اختي

انت عارفه ان هذه المشكلة قد واجهت الكثير

مشكورة اختي الغالية على مجهودك الرائع

الله يعطيك العافية

_________________
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
القيـــ ــ ــــصر
عضو مجلس الاداره
عضو مجلس الاداره
avatar

عدد الرسائل : 3074
العمر : 35
تاريخ التسجيل : 01/04/2007

مُساهمةموضوع: رد: الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL   الأربعاء مايو 02, 2007 2:55 pm




شرح اكثر من رائع وبطريقه راقيه جدا

بارك الله فيج اختى الفراشه

_________________


تغنـى الشعـر بالشعـراء دهـرآ ...... ومـا ذكــر الهــوى إلا ذكــرت

قيـــ ــ ــــصر هذا الزمان







دعــ ــ ـــوه للجميع !! في قســـــم العـــام..
!||¤||! سلسـ،ــله روؤس اقـ ـلام .. !||¤||!,


الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
الرابع

avatar

عدد الرسائل : 13
العمر : 37
تاريخ التسجيل : 08/07/2007

مُساهمةموضوع: رد: الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL   الثلاثاء يوليو 10, 2007 8:43 pm

السلام عليكم ..........


هناك عدة طرق لعرفة مكان قاعدة البيانات دون كتابة المسار كاملاً في الكود - وهي مشكلة كبيرة يعاني منها المبتدؤن في البرمجة - أو من يستخدم الـ User Control الخاصة باالإتصال بقواعد البيانات

لانه من الممكن تغيير إسم المسار إلى اخر عن طريق تغيير إسم قاعدة البيانات أو تغيير إسم السرفير أو عنوانه وما إلى هنالك من مشاكل كما ذكر

من الطرق:

الكود:
Public Cn                As New ADODB.Connection
Public Rs                  As New ADODB.Recordset

Public Sub Conn()
   If Cn.State = 1 Then Cn.Close
   Cn.ConnectionString = "DBQ=" & App.Path & "\aaaaaa.mdb;driver={Microsoft Access Driver (*.mdb)};pwd=000"
   Rs.LockType = adLockOptimistic
   Cn.Open
   Rs.ActiveConnection = Cn
End Sub

ولكن هذه الطريقة يعيبها عدم الإستفادة من بعض خصائص الكلاس ADODB.Recordset لأنه سيكون غير مفعل عند الإنتهاء من إستدعاء الإجراء
مثل : MoveLast , Bookmark , RecordCount , MoveNext

لأنه عند الإستدعاء نكتب :
الكود:
Conn
With RS
    .Open "Select * From +++++"
    ......
    ......
    ......
    ......
    .Close
End With

لكنها أفضل من ناحية أنها اقل إستخداماً للذاكرة Ram
لأنه في كل مرة يتم إستدعاء الإجراء Conn يتم تعريف كل شيء وكأنه جديد. أي لا يتم حفظ أية معلومات سابقة حول الجدول المستخدم في الـ RS

عموماً هناك طريقة أفضل منها بكثير وأنا أفضلها .........!!!وهي أن يتم تعريف السطرين الأولين كما هما ثم :

الكود:
Rs.Open "Select * From ++++++", Cn, adOpenKeyset, adLockOptimistic

ولا نقفله - Rs.Close - إلا في حالة تغيير الإستعلام أو نهاية البرنامج ...
لأن الإجراء Open له خمسة قيم نمررها له ... وهي موضحة في الصوره التالية :




ملاحظة : يمكن أن نستخدم في الطريقة الأولى نفس الشيء أي يتم فتح الاستعلام مره واحده فقط دون إقفاله ثم إستخدام الخصائص الباقيه وهو مفتوح لأنه حينها يتكون هيكال للجدول في الـ RS ويكون

المؤشر يؤشر إلى الحقل في قاعدة البيانات - الإتصال المتصل -

وهناك طريقة أخرى :

وهي بإستخدام الـ UDL وهي تستخدم في ASP , VB , Delphi ويعيب عليها البعض بأنها طريقة قديمة لكنها مازالت جيده .

وتكتب في حالة عدم إستخدام الـ ADODB User Control
باطريقة التالية :

الكود:
  Dim Con As String
  Con = "File Name=" & App.Path & "\Conn.udl;"
  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open Con

aspalliance يمكن الإستفاده من المرجع :

Introduction

UDL is a rather old way of accessing a database, but it still works and is another way for the beginner to get access to the database that he is using. The samples are for Classic ASP, but the concept of UDL files is the same for .NET data access.

U..D...What?

UDL is a plain text file with a connection string, just like you've been using (assuming that you use DRIVER={DRIVER];DBQ=[DBQ];PQD=[Password] ), and the great part is that it doesn't take much to set it up. I'm just going to go over the basics, but there isn't much more to it really.


موفقين إنشاء الله
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
الرابع

avatar

عدد الرسائل : 13
العمر : 37
تاريخ التسجيل : 08/07/2007

مُساهمةموضوع: رد: الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL   الثلاثاء يوليو 10, 2007 8:43 pm

السلام عليكم ..........


هناك عدة طرق لعرفة مكان قاعدة البيانات دون كتابة المسار كاملاً في الكود - وهي مشكلة كبيرة يعاني منها المبتدؤن في البرمجة - أو من يستخدم الـ User Control الخاصة باالإتصال بقواعد البيانات

لانه من الممكن تغيير إسم المسار إلى اخر عن طريق تغيير إسم قاعدة البيانات أو تغيير إسم السرفير أو عنوانه وما إلى هنالك من مشاكل كما ذكر

من الطرق:

الكود:
Public Cn                As New ADODB.Connection
Public Rs                  As New ADODB.Recordset

Public Sub Conn()
   If Cn.State = 1 Then Cn.Close
   Cn.ConnectionString = "DBQ=" & App.Path & "\aaaaaa.mdb;driver={Microsoft Access Driver (*.mdb)};pwd=000"
   Rs.LockType = adLockOptimistic
   Cn.Open
   Rs.ActiveConnection = Cn
End Sub

ولكن هذه الطريقة يعيبها عدم الإستفادة من بعض خصائص الكلاس ADODB.Recordset لأنه سيكون غير مفعل عند الإنتهاء من إستدعاء الإجراء
مثل : MoveLast , Bookmark , RecordCount , MoveNext

لأنه عند الإستدعاء نكتب :
الكود:
Conn
With RS
    .Open "Select * From +++++"
    ......
    ......
    ......
    ......
    .Close
End With

لكنها أفضل من ناحية أنها اقل إستخداماً للذاكرة Ram
لأنه في كل مرة يتم إستدعاء الإجراء Conn يتم تعريف كل شيء وكأنه جديد. أي لا يتم حفظ أية معلومات سابقة حول الجدول المستخدم في الـ RS

عموماً هناك طريقة أفضل منها بكثير وأنا أفضلها .........!!!وهي أن يتم تعريف السطرين الأولين كما هما ثم :

الكود:
Rs.Open "Select * From ++++++", Cn, adOpenKeyset, adLockOptimistic

ولا نقفله - Rs.Close - إلا في حالة تغيير الإستعلام أو نهاية البرنامج ...
لأن الإجراء Open له خمسة قيم نمررها له ... وهي موضحة في الصوره التالية :




ملاحظة : يمكن أن نستخدم في الطريقة الأولى نفس الشيء أي يتم فتح الاستعلام مره واحده فقط دون إقفاله ثم إستخدام الخصائص الباقيه وهو مفتوح لأنه حينها يتكون هيكال للجدول في الـ RS ويكون

المؤشر يؤشر إلى الحقل في قاعدة البيانات - الإتصال المتصل -

وهناك طريقة أخرى :

وهي بإستخدام الـ UDL وهي تستخدم في ASP , VB , Delphi ويعيب عليها البعض بأنها طريقة قديمة لكنها مازالت جيده .

وتكتب في حالة عدم إستخدام الـ ADODB User Control
باطريقة التالية :

الكود:
  Dim Con As String
  Con = "File Name=" & App.Path & "\Conn.udl;"
  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open Con

aspalliance يمكن الإستفاده من المرجع :

Introduction

UDL is a rather old way of accessing a database, but it still works and is another way for the beginner to get access to the database that he is using. The samples are for Classic ASP, but the concept of UDL files is the same for .NET data access.

U..D...What?

UDL is a plain text file with a connection string, just like you've been using (assuming that you use DRIVER={DRIVER];DBQ=[DBQ];PQD=[Password] ), and the great part is that it doesn't take much to set it up. I'm just going to go over the basics, but there isn't much more to it really.


موفقين إنشاء الله
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
الطريقة الاحترافية للاتصال بالداتا بيس Adodc Data Link UDL
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
اهلا وسهلا بكم في اكاديمية القيصــــر :: منتدي البرمجه-
انتقل الى: