الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الأكسس والفيجول سي بلس بلس

مغلق
بدأه الهاوية في 15 يونيو 2003 · 5 رد · 699 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أهلا بإخواني في منتديات الفريق العربي للبرمجة

لقد بدأيت يا شباب مطالعة الكتاب الإلكتروني "تعلم بنفسك قواعد البريانات باستخدام الفيجول سي بلس بلس 6 في 21 يوما"، وكانت الأمور تسير كما ينبغي، إلا أنني وفي اليوم الرابع، عند تجريب ربط قاعدة البيانات من نوع أكسس، باستخدام المحرك jet.3.51، فإن العملية تفشل، ولا أدري ما السبب.

تأكدت من مسار الملف، بدلت إسم ومسار قاعدة البيانات

راجعت الأخطاء الكتابية.

بعد إظافة break points، تبين أن الخلل في فتح قاعدة البيانات.

أنا أشك في إصدار المحرك الرابط بين القاعدة والبرنامج.

كيف أتحقق من هذا المحرك، هل يمكنني العمل ببديل عنه؟

إذا ما اعتمدت على الكتاب فإنه يشير إلى الإصدار 3.51 الموافق لحجم 1300 كيلو بايت، والمدرج ضمن حزمة فيجول ستيديو 6 Entreprise, وهي نفس الحزمة التي أمتلكها، إلا أنني لاحظت أن حجم هذا المحرك هو 1500 كيلو بايت، ولكن مازال تحت إصدار 3.51

أين الخلل يا إخوان؟

عملية الربط موجودة في المنهاج OnNewDocument

----------------------------------------------------------------------------------

BOOL CADOMFC1Doc::OnNewDocument()

{

if (!CDocument::OnNewDocument())

return FALSE;

// TODO: add reinitialization code here

// (SDI documents will reuse this document)

HRESULT hr;

try

{

hr = m_pConnection.CreateInstance( __uuidof( Connection ) );

if (SUCCEEDED(hr))

{

hr = m_pConnection->Open(_bstr_t(L"Provider=Microsoft.Jet.OLEDB.3.510;Data Source=C:tysdbvcVCDB.mdb;"),

_bstr_t(L""),

_bstr_t(L""),

adModeUnknown);

if (SUCCEEDED(hr))

{

m_IsConnectionOpen = TRUE;

}

}

}

catch( _com_error &e )

{

// Get info from _com_error

_bstr_t bstrSource(e.Source());

_bstr_t bstrDescription(e.Description());

TRACE( "Exception thrown for classes generated by #import" );

TRACE( "tCode = %08lxn", e.Error());

TRACE( "tCode meaning = %sn", e.ErrorMessage());

TRACE( "tSource = %sn", (LPCTSTR) bstrSource);

TRACE( "tDescription = %sn", (LPCTSTR) bstrDescription);

}

catch(...)

{

TRACE( "*** Unhandled Exception ***" );

}

return TRUE;

}

-----------------------------------------------------------------------------------

ملاحظة:

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

ثم، أظن أنه لو يفشل الربط بقاعدة البيانات، فإن لبرنامج يعرض إستثناءات (EXeptions)، لكن البرنامج لا يعرض أي شيء، ولا يعرض البيانات.

لن أستطيع مواصلة الدروس بدون تجريب، حيث أن هذه الدروس جد مهمة في دروسي المستقبلية.

هل من أحد يزيح الستار عن الحل؟

رافقتكم السلامة

#2

ممكن تعطيني اللنك للكتاب ولك جزيل الشكر

#3

السلام عليكم

أخي cs111 أعتذر لك مرتين، أولا عن تأخري في الإجابة لطلبك، وثانيا لعدم قدرتي على ذلك.

أخي العزيز، أنا لا أملك وصلة الكتاب مباشرة، ولو كنت أتوفر على سرعة إتصال حسنة، لقمت بإرساله إليك، لكن في الحال، يكفي أن أشير لك إلى الموقع الرئيسي، ويمكنك تحميله كاملا باستخدام برنامج WebCopier.

عنوان الموقع:

http://www.informit.com/isapi/product_id~%...ntent/index.asp

للمنفعة العامة:

لقت إكتشفت أخيرا الخلل الذي كان يعيق عملا لبرنامج، حيث أن محرك قواعد البيانات Microsoft.jet.3.51 والمرفق مع حزمة الفيجول ستيديو 6 لا يفقه قواعد البيانات الحديثة من نوع أكسس، لهذا يلزم على المبرمج حفظ القاعدة تحت إصدار قديم ، وبالتالي سيقدر المحرك على ربط القاعدة بالبرنامج، وينجح العمل.

حظ موفق للجميع

رافقتكم السلامة.

#4

السلام عليكم

أخي الكريم يوجد حل لهذه المشكلة بدون تغيير قاعدة البيانات إلى الإصدار القديم . ولحلها غير هذه الجزءيةوهي :

Provider=Microsoft.Jet.OLEDB.3.510

إلى

Provider=Microsoft.Jet.OLEDB.4.0

بالتوفيق بإذن الله

#5

السلام عليكم

شكرا لك أخي VISITOR_OM على هذه الفكرة الجميلة، لقد عملت تماما ومن دون أي خلل

لقد أرحتني من عملية تحويل إصدار قاعدة البيانات

جعلك الله ذخرا لنا

رافقتكم السلامة

#6

على الرحب والسعة (f)

هذا الموضوع مغلق.

مواضيع مشابهة