بسم الله الرحمن الرحيم
سوف نقوم بربط الفيجوال بيسك مع قاعدة بيانات اوراكل ونستخدم الاداة oracle objects for ole والتي تحدثنا عن طريقة اضافتها هنا
الدرس الاول:
اول شي نتعرف على الاشياء الموجودة في هذة الاداة
1- orasession:
يتم انشاءه لتشغيل التطبيق وينشىء نسخه من الخادم inprocserver
2- oraserver
يمثل اتصالا فعليا بقاعدة البيانات
3- oradatabase
يمثل الاتصال بقاعدة البيانات وهو يقدم وسائل لتنفيذ عبارات sql
4-oradynaset
هذا يمثل النتائج المعدة من عبارات sql ويتم انشائه باستخدام العبارة createdynaset
وهنالك المزيد من الاشياء لكن سوف نتطرق لك واحدة في حينها
***طريقة الاتصال:
نضيف قبل كل شي الاداة من قائمة project ثم reference ثم ابحث عن oracle objects for OLE 3.0 type library
هناك اشياء ثابتة يجب دائم كتابته مع الكود لفتح القاعدة في أي وقت ولأي قاعدة
اولا نعرف ثلاث متغيرات وهذا دائما:
Dim orasession As orasession
Dim oradatabase As oradatabase
Dim oradynset As OraDynaset
Dim sql As String
نشرح التعريفات الثلاثة
الاول لتكوين سيرفر مع القاعدة
الثاني للاتصال مع قاعدة البيانات
الثالث لتخزين السجلات المستتنتجة
الرابع لتخزين الاستعلام
ثانيا/
نكون inprocserver والاتتصال بقاعدة البيانات وهذه ثابته دائم لاتتغيرفي عملية اتصال لابد من وجودهما
كمايلي :
Set orasession = CreateObject("oracleinprocserver.xorasession")
ثم نقوم ايضا
Set oradatabase = orasession.OpenDatabase("ddd", "scott/tiger",0&)الكود الاول يمثل الخادم للاتصال بالقاعدة
اما الثاني فهو للتصال بقاعدة البيانات وddd تمثل اسم قاعدة البيانات التي تكون لديك و "scott/tiger" تمثل اسم المستخدم وكلمة المرور للقاعدة و 0& تمثل حالة القاعدة الابتدائية وهذان الكودان يلزم اضافتهما دائم وفي أي اتصال لقاعدة البيانات
ثالثا/
نقوم الان بكتابة الاستعلام الذي نريد من أي جدول في قاعدة البيانات كمايلي
mysql="select * from emp"
وسوف يقوم هذا الاستعلام باحضار كل سجلات الجدول ولكن بعد تشغيله
رابعا/
كيفيه تشغيل الاستعلام(فتح الاستعلام) كما يلي
Set oradynset = oradatabase.CreateDynaset(mysql, 0&)
هذا الكود يقوم بانشاء السجلات التي يقوم الاستعلام باحظارها من قاعدة البيانات وذلك باستخدام الخاصة CreateDynaset لــ oradatabase
خامس/ بعد تنفيذ الاستعلام ولو فرضنا ان الجول في الاستعلام السابق يحتوي على حقلين الاول s_no والثاتي s_name ونريد بعد تنفيذ الاستعلام ان يقوم بعرضهما في مربعين نص على النموذج
ويكون كمايلي :
Text1.Text = oradynset.Fields("s_no").Value
Text2.Text = oradynset.Fields("s_name").Valueويصبح الكود كامل كمايلي

وبهذا انهينا طريقة الاتصال واظن انها سهلة ومن لديه أي تسال فانا باتم الاستعداد
وسوف انزل مثال على ذلك