الانتقال إلى المحتوى

الأداة OO40


alkhaiat

Recommended Posts

هذا الشرح لأحد الزملاء في أحد المنتديات قمت بنسخه أرجوا أن يستفيد منه السائلين عن هذا الموضوع

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

1- orasession :
هذا الشيء يمثل الاساس في النموذج OO40 وهو يقوم بتشغيل التطبيق وانشاء نسخة من الخادم INPROC SERVER وهو يحتوي على وسائل لإنشاء الاتصال بقاعدة بيانات وراكل.


2- oradatabase :
يمثل اتصالا بقاعدة بيانات اوراكل وهو يقدم وسائل لتنفيذ عبارات sql


3- orasqlstmt :
وهو يستخدم لتنفيذ عبارات DDL مثل CREATE TABLE


4-oradynaset :
يمثل النتائج المعادة من عبارة sql وهو مؤشر في جانب العميل يمكن معالجته والتعامل معه
ويتم انشائه باستخدام العبارة createdynaset للشء oradatabase
وهنالك المزيد من الاشياء لكن سوف نتطرق لك واحدة في حينها


5- oraparameters :
يمثل متغير ربط في عبارة sql وهو يقدم وسائل لإنشاء ومعالجة قيم المعاملات
(يستخدم لتمرير متغيرات الاجراءات والدوال وعبارات sql )


6- oraobject :
يمثل نسخة من اشياء اوراكل المخزنه على شكل جدول


7- oraparametersarray
مثل الشيء oraparameters لكن يكون مصفوفة من المعاملات والمتغيرات


<span style='font-size:14pt;line-height:100%'>بدء العمل مع الاداة وطريقة الاتصال</span>
طريقة الاتصال بقاعدة بيانات اوراكل:
اولا:
نضيف قبل كل شي الاداة من قائمة project ثم reference ثم ابحث عن oracle objects for OLE 3.0 type library
ثم نقوم بتعريف ثلاث متغيرات :
الاول متغير من نوع oraseesion وهو لتكوين سيرفر مع القاعدة وفتح القاعدة.
الثاني متغير من نوع oradatabase وهو للاتصال مع قاعدة البيانات.
الثالث متغير من نوع oradynasetلتخزين السجلات المستتنتجة.
ويمن التعريف كمايلي:

CODE
Dim ses As orasession
Dim database As oradatabase
Dim dyn As OraDynaset

ثانيا/
نكون inprocserver والاتتصال بقاعدة البيانات وهذه ثابته دائم لاتتغيرفي أي عملية اتصال لابد من وجودهما

CODE
Set ses = CreateObject("oracleinprocserver.xorasession")
ثم نقوم بفتح قاعدة البيانات كمايلي:

CODE
Set database = ses.OpenDatabase("ddd"," scott/tiger",0&)

حيث:
Ses : هذا متغير orasession الذي تم فتحه سابقا.
OpenDatabase : وسيلة لفتح قاعدة البيانات.
ddd : هذا اسم قاعدة البيانات لديك وهو الاسم الذي اعطيته لقاعدة البيانات اثناء تنزيل الاوراكل.
" scott/tiger" : هذا اسم الحساب وكلمة المرور وهو افتراضي في اي قاعدة بيانات يوجد بها هذا المستخدم وكلمة مرورة .او يكون لك اسم مستخدم خاص بك وكلمة مرور له.
0& تمثل حالة القاعدة الابتدائية.
والعمليتان السابقتين وهما فتح الاتصال وفنح القاعدة لابد منهما في اي كود لكي تتصل بقاعدة البيانات.
ثالثا/
نقوم الان بكتابة الاستعلام الذي نريد من أي جدول في قاعدة البيانات كمايلي
mysql="select * from emp"
رابعا/
كيفيه تشغيل الاستعلام(فتح الاستعلام) وتخزين النتائج كما يلي

CODE
Set dyn = database. CreateDynaset (mysql, 0&)

وذلك باستخدام الامر CreateDynaset للشي oradatabase
حيث :
Mysql : تمثل المتغير الذي تم تخزين الاستعلام به وليس شرطا ان يكون نفس الاسم .
خامس/
بعد تنفيذ الاستعلام ولو فرضنا ان الجدول في الاستعلام السابق يحتوي على حقلين الاول empno والثاتي ename ونريد بعد تنفيذ الاستعلام ان يقوم بعرضهما في مربعين نص على النموذج
ويكون كمايلي :

CODE
Text1.Text = dyn.Fields("empno").Value
Text2.Text = dyn.Fields("ename").Value

وبالتالي يكون الكود كامل كمايلي:


CODE
Dim ses As orasession
Dim database As oradatabase
Dim dyn As OraDynaset
Set ses = CreateObject("oracleinprocserver.xorasession")
Set database = ses.OpenDatabase("ddd", "scott/tiger", 0&)
sql = "select * from emp"
Set dyn = database.CreateDynaset(sql, 0&)
Text1.Text = dyn.Fields("empno")
Text2.Text = dyn.Fields("ename")

وبهذا انهينا طريقة الاتصال بالقاعدة

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية