ارجو من السادة الاعضاء مساعدتى فى معرفة كيفية ربط قواعد بيانات اوراكل ب vc++ , mfc
ربط قواعد بيانات اوراكل ب vc ++
السلام عليكم ,,
عملية الربط كما هي تقريبا لو أردت الربط مع ال SQL SERVER ,, فلو كنت تعرف كيفية الربط مع ال SQL ,, فلن تجد مشكلة لل ORACLE ,, ولو بحثت قليلا في أي كتاب فيجوال سي++ ستجد عن هذا الموضوع الكثير ,,
اعذرني فلا أستطيع ان أكتب كثيرا لأنني بعيد عن جهازي ,, ربما بعد أسبوع ونصف أوضح لك ببعض التفصيل ,,
أغلب الاعضاء المتميزين أيضا غير متواجدين حاليا ,, ربما يعودون في القريب العاجل ,,
بعد الاستئذان من خبير الفجوال سي++
file -> new
اختر من المشاريع MFC AppWizard(EXE) واعطه اسما (مثلا withSQL) -> OK
الخطوة الأولى Single Document
الخطوة الثانية اختر header files only
الخطوة الثالثة لا تغيير يذكر
الخطوة الرابعة فك الصح من docking toolbar و printing and print review لن تحتاج لهما كثيرا
الخطوة الخامسة لا تغيير يذكر
الخطوة السادسة والأخيرة:بالنسبة لصنف class الview
اجعله وارثا منCFormView من ال Base Class
اضغط finish ثم OK
من قائمة insert -> new class
في class Information حدد اسما لصنفك الجديد مع تكرار حرف C إذا كان اسم صنفك الجديد يبدأ به
وحدد الصنف الأب لصنفك الجديد: CRecordset
وهو الصنف المعد خصيصا للتعامل مع قواعد بيانات ODBC، مثل أوراكل وSQL server
اضغط OK ليسألك عن مسار قاعدة البيانات ووصلة ODBC حددها له واضغط OK
سيسألك عن اسم الجدول الذي تريد الربط معه،
مثلا مع SQL Server اختر قاعدة البيانات northwind وهي مثال يرفق مع كل نسخة SQL Server واختر الجدول Customers
اضغط OK
لعرض البيانات:
ضع عدة edits، سأقوم بشرح واحد منها والباقي حاوله بنفسك:
اضغط باليمين على الedit واختر class wizard
اضغط على التبويب member variables
ستجد الedits التي وضعتها،
لتعريف متغير خاص به ( سيشمت مبرمجي الفجوال بيسك مننا في هذه الناحية، لأنها لا يحتاجون لهذه الخطوة)
حدد IDC_EDIT1 ( يحبذ منك وضع أسماء مفهومة ليساعدك في صيانة البرنامج لا حقا ولكن حاليا يمشي الحال(
اضغط على add variable حدد له اسما ، لا حظ أنه ساعدك بتحديده من نوع CString
مثلا سمه m_cust_name، ستجد خاصية إضافية اسمها Maximum Characters وهي أقصى عدد حروف لمتغير الedit
، حدد عددا لها إن كنت متشددا فيها
اضغط OK ثم استدع الclass wizard مرة أخرى ،( أغلقناه لضمان حفظ التعديلات الأخيرة بصورة متوافقة)
اختر التبويب message maps للقيام بإضافة الأكواد البرمجية:
سنقوم بفتح قاعدة البيانات مع فتح البرنامج: اختر من لائحة Object IDs: CWithSQLView
واختر من Messages: onInitialUpdate واضغط على edit code:
قبل كتابة أي سطر اذهب لملف الheader الخاص بصنف النافذة ( اسمه ينتهي بview غالبا، واضف في بدايته include لملف الheader للصنف الوارث من صنف التوصيل مع قاعدة البيانات، مثلا هنا: #include "emp.h"
والآن وأنت مطمئن اذهب لملف الcpp الخاص به وأضف السطور التالية :
Emp e; if(e.IsOpen()) // تتأكد ما إذا كان الconnection مغلق وإلا تغلقه e.Close(); e.Open(); // وتفتحه مرة أخرى m_cust_name=e.m_CompanyName;// تنسخ القيمة الحقل UpdateData(false);// تظهر القيمة على الشاشة
قم بعمل compile الآن لضمان حفظ تعديلاتك، والتأكد من صحة ما كتبته
لا أستطيع الآن إعطاءك أكثر من هذا قبل أن تجرب ما قلته لك وتوافيني بالنتيجة،
وبالتوفيق بإذن الله.
فكر بطريقة أخرى
السلام عليكم ,,
بارك الله فيك يا Walcom ,, وماشاء الله عليك شكلك مهتم بهذه الأمور ,, أرجو أن تتحفنا بالمزيد
"دقست " :)
بالتوفيق ,,
اشكر السيد مشرف القسم على الاهتمام كما اشكر الأخ walcom على هذه المشاركة الطيبة
الاخ الكريم walcom لقد جربت تلك المعلومات القيمة و لكن اخر جزئية و هى اضافة الكود الى cpp اعطى خطأ عند عمل compilar
ارجو افادتى بمعلوماتك القيمة
لقد قمت بعمل اللازم كما شرحت لى و لكن عند عمل compliar
للبرنامج اظهر خطأفى هذا الكود
store e; if(e.IsOpen()) // تتأكد ما إذا كان الconnection مغلق وإلا تغلقه e.Close(); e.Open(); // وتفتحه مرة أخرى m_cust_name=e.m_CompanyName;// تنسخ القيمة الحقل UpdateData(false);// تظهر القيمة على الشاشة
السلام عليكم و رحمة الله
اليك اخى الكريم صورة من المشكلة التى صادفتنى عند اضافة الكود
اقتباسمثلا مع SQL Server اختر قاعدة البيانات northwind وهي مثال يرفق مع كل نسخة SQL Server واختر الجدول Customersاضغط OK
طيب وإذا أردته بالأوركل مو بالإس كيو إل سيرفر -هاللي ماعرفت أثبته-
كيف أسوي ؟؟؟
والله تعبت من كثر مايطلع هالبوكس اللي يبي السورس تبع الداتا بيس ولا أقدر
أستخدم أنا لغة الإس كيو إل مع الأوراكل
الله يعافيكم ساعدوني لو أحد عنده معرفة
هذا الموضوع مغلق.
