>>>>>>>>>> للتسجيل في الموقع أضغط هنا <<<<<<<<<<



عـودة للخلف   منتديات كتاب العرب > كلية تكنولوجيا المعلومات > البرمجة


الرد على الموضوع
 
LinkBack خيارات الموضوع طريقة العرض
  #1  
قديم 2006-03-29, 02:49 PM
 
هل يمكن ربط قواعد بيانات oracel في برنامج vb.net

السلام عليكم
ارجو المساعدة بإعطائي معلومات عن
هل يمكن ربط قواعد بيانات oracel في برنامج vb.net
وما هو الكود وكيف يعمل
واشكر الجميع

الرد باقتباس
  #2  
قديم 2006-03-29, 03:19 PM
الصورة الشخصية لـ محمد الفرح  
رد: هل يمكن ربط قواعد بيانات oracel في برنامج vb.net

إقتباس:
اقتباس من مشاركة محمد ابراهيم,Nov 10 2003, 02:36 PM 
   هذا الشرح من كتاب قمت بانجازه وهو جاهز لكن يحتاج لبعض التدقيق والاضافات وانا هالايام مشغول نوعا ما لكن قريبا انتهي من الكتاب.
نستخدم الاداة 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لتخزين السجلات المستتنتجة.
ويمن التعريف كمايلي:
كود:
Dim ses As orasession
Dim database As oradatabase
Dim dyn As OraDynaset
ثانيا/
نكون inprocserver والاتتصال بقاعدة البيانات وهذه ثابته دائم لاتتغيرفي أي عملية اتصال لابد من وجودهما
كود:
Set ses = CreateObject("oracleinprocserver.xorasession")
ثم نقوم بفتح قاعدة البيانات كمايلي:
كود:
Set database = ses.OpenDatabase("ddd"," scott/tiger",0&)
حيث:
Ses : هذا متغير orasession الذي تم فتحه سابقا.
OpenDatabase : وسيلة لفتح قاعدة البيانات.
ddd : هذا اسم قاعدة البيانات لديك وهو الاسم الذي اعطيته لقاعدة البيانات اثناء تنزيل الاوراكل.
" scott/tiger" : هذا اسم الحساب وكلمة المرور وهو افتراضي في اي قاعدة بيانات يوجد بها هذا المستخدم وكلمة مرورة .او يكون لك اسم مستخدم خاص بك وكلمة مرور له.
0& تمثل حالة القاعدة الابتدائية.
والعمليتان السابقتين وهما فتح الاتصال وفنح القاعدة لابد منهما في اي كود لكي تتصل بقاعدة البيانات.
ثالثا/
نقوم الان بكتابة الاستعلام الذي نريد من أي جدول في قاعدة البيانات كمايلي
mysql="select * from emp"
رابعا/
كيفيه تشغيل الاستعلام(فتح الاستعلام) وتخزين النتائج كما يلي
كود:
Set dyn = database. CreateDynaset (mysql, 0&)
وذلك باستخدام الامر CreateDynaset للشي oradatabase
حيث :
Mysql : تمثل المتغير الذي تم تخزين الاستعلام به وليس شرطا ان يكون نفس الاسم .
خامس/
بعد تنفيذ الاستعلام ولو فرضنا ان الجدول في الاستعلام السابق يحتوي على حقلين الاول empno والثاتي ename ونريد بعد تنفيذ الاستعلام ان يقوم بعرضهما في مربعين نص على النموذج
ويكون كمايلي :
كود:
         Text1.Text = dyn.Fields("empno").Value
          Text2.Text = dyn.Fields("ename").Value
وبالتالي يكون الكود كامل كمايلي:

كود:
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")
وبهذا انهينا طريقة الاتصال بالقاعدة والان لنبدء الابحار في وسائل هذه الاداة
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,
اضافة , تحديث , حذف البيانات.
لنقم بتكوين جدول للقيم بالتطبيق عليه ولنفرض ان الجدول كمايلي:

salary job S_name S_no
الراتب الوظيفة الاسم الرقم

ولانشاء هذا الجدول نذهب الى sql * plus ونكتب الامر
كود:
Create table employee(
S_no char(9),
S_name varchar2(50),
Job varchar2(50),
Salary number(10));
وبهذا نكون قد انشاءنا الجدول

أ- الاضافة ADDNEW :
هذه الوسيلة تسمح باضافة الصفوف الجديدة إلى dynaset الذي قمنا بانشاءه ولكي نضيف صف جديد الى الجدول employee السابق نقوم بمايلي.
اولا نقوم بفتح الاتصال وتكوين dynaset كمايلي:
كود:
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 employee"
Set dyn = database.CreateDynaset(SQL, 0&)
ولكي تضيف صف نقوم بفتح dynaset للاضافة بالوسيلة addnew كمايلي:
dyn.AddNew
ثم نقوم باسناد القيم الجديدة لحقول dynaset كمايلي:
كود:
dyn.Fields("s_no").Value = "1000"
dyn.Fields("s_name").Value = "ddd"
dyn.Fields("job").Value = "programming"
dyn.Fields("salary").Value = "5500"
ثم نقوم بتثبيت هذه المدخلات بالقاعدة باستخدام الامر update لــ dynaset كمايلي: dyn.Update
وبالتالي يصبح الكود كامل كمايلي.
الكود كامل :
كود:
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 employee"
Set dyn = database.CreateDynaset(SQL, 0&)
dyn.AddNew
dyn.Fields("s_no").Value = "1000"
dyn.Fields("s_name").Value = "MOHAMMED"
dyn.Fields("job").Value = "programing"
dyn.Fields("salary").Value = "5500"
dyn.Update
MsgBox "تمت الاضافة بنجاح"
ويمكنك تطوير البرنامج السابق وجعله اكثر شمولية وذلك بجعل المدخلات يقوم بادخالها المستخدم وذلك كمايلي :
بانشاء فورم جديد ووضع به اربع مربعات نص وزر امر وداخل زر الامر اكتب الكود التالي:

كود:
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 employee"
Set dyn = database.CreateDynaset(SQL, 0&)
dyn.AddNew
dyn.Fields("s_no").Value = TEXT1.TEXT
dyn.Fields("s_name").Value = TEXT2.TEXT
dyn.Fields("job").Value = TEXT3.TEXT
dyn.Fields("salary").Value = TEXT4.TEXT
dyn.Update
MsgBox "تمت الاضافة بنجاح"
وبالتالي فان المكتوب باللون الاحمر هو الذي تم تبديله عن الكود السابق

قم بتطبيق المثال طبقا للخطوات السابقة وسوف تسعد بالنتائج....
ب – التعديل UPDAET :
لتعديل اي سجل موجود بالقاعدة نستخدم الامر edit لـ dynaset
كمايلي:
اولا نقوم بفتح الاتصال وتكوين dynaset كمايلي :
كود:
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 employee where s_no=1000"
Set dyn = database.CreateDynaset(SQL, 0&)
ثم نقوم بعملية التعديل كمايلي :
نقوم اولا يجعل سماحية التعديل على dynaset كمايلي
Dyn.edit
ثم نقوم باجراء التغير كمايلي
Dyn.fields("s_name").value="ali"
ثم نقوم بثبيت التعديل باستخدام الامر update لـ dynaset كمايلي:
Dyn.update
لناخذ مثال على ذلك :
في جدول employee قم بتعديل راتب الشخص الذي رقمه 1000 ؟
ويكون كود التعديل كمايلي:
كود:
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 employee where s_no=1000"
Set dyn = database.CreateDynaset(SQL, 0&)
Dyn.edit
Dyn.fields("salary").value="6000"
Dyn.update
MsgBox "تم التعديل"
ويهذا يكون تم التعديل على قاعدة البيانات.
ج- الحذف DELETE :
لحذف اي سجل موجود في القاعدة نستخدم delete لـ dynaset
وللبداية بحذف سجل
اولا نقوم بفتح الاتصال وتكوين dynaset كمايلي:
كود:
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 employee where s_no=1000"
Set dyn = database.CreateDynaset(SQL, 0&)
ثم نقوم بعملية الحذف كمايلي:
Dyn.delete
وبالتالي يصبح الكود كامل كمايلي:

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 employee where s_no=1000"
Set dyn = database.CreateDynaset(SQL, 0&)
dyn.Delete
MsgBox "تم الحذف"
وبهذا يتم الحذف
وراح انشاءالله اضيف في وقت ثاني طريقة استخدام الكود نفسه مع الفيجوال نت مع تغير فرق بسيط
[snapback]170774[/snapback]

منقول

الرد باقتباس
  #3  
قديم 2006-03-29, 05:01 PM
 
رد: هل يمكن ربط قواعد بيانات oracel في برنامج vb.net

رائع
مشكور جدا اخي المشرف محمد
رائع رائع رائع
الله يعطيك العافية

الرد باقتباس
  #4  
قديم 2006-03-29, 05:37 PM
الصورة الشخصية لـ محمد الفرح  
رد: هل يمكن ربط قواعد بيانات oracel في برنامج vb.net

العفو اخوي
هااد واجبنا

الرد باقتباس
  #5  
قديم 2006-03-29, 05:42 PM
 
رد: هل يمكن ربط قواعد بيانات oracel في برنامج vb.net

التعرف على هيك منتدى والمشاركة فيه
مفخرة بحد ذاتها

الرد باقتباس
الرد على الموضوع

مواقع النشر (المفضلة)


يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف)
 
خيارات الموضوع
طريقة العرض

قوانين المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاح
كود [IMG] متاح
كود HTML مغلق
Trackbacks are مغلق
Pingbacks are مغلق
Refbacks are متاح
إنتقل إلى

مواضيع مشابهة للموضوع: هل يمكن ربط قواعد بيانات oracel في برنامج vb.net
الموضوع الكاتب القسم الردود آخر مشاركة
اريد المساعدة في مشروع تخرج توزيع كهرباء distr nour1988 الهندسة الإلكترونية والكهربائية 2 2006-10-21 04:27 AM
مساعدة في تثبيت برنامج فيجول بيسك IsmSal قسم الكمبيوتر العام 0 2005-08-08 09:55 PM



الساعة الآن +3: 04:51 AM.


Please seek an excuse for Arabsbook.com it is not responsible for the coming of topics by members and put the responsibility entirely on the subject's owner , and Arabsbook.com is open forum for members to put different subjects in striving for a review of topics, according to general laws for the protection of property . If there are any company or institution has a problem with one of the topics, please contact us.
Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.