delphi4arab منتديات دلفي للعرب

نسخة كاملة : ربط قاعدة بيانات بالدلفي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
عندي في مشروعي مجموعة من edit وmaskedit وcombobox وقاعدة بيانات ,تمكنت من الاضافة في قاعدة البيانات بواسطة زر add .لكن المشكل في اظهار المعلومات الموجودة في قاعدة البيانات في edit و maskedit وcombobox بمجرد اختيار السطر في قاعدة البيانات.
حاولت باستعمال الاوامر التالية في حدث afterscroll المتعلق بجدول قاعدة البينات
form7.edit16.text:=dm.table5.fieldbyname('Cod-grop').asstring;
form7.combobox9.text:=dm.table5.fieldbyname('Cod-avg').asstring;
form7.maskedit1.text:=dm.table5.fieldbyname('Date-nais').asstring
لكن تظهر رسالة تقول(violation d'accés a l'adresse 004b2477 dans le module'projet1.exe') وهذا عند تشغيل المشروع.
ملاحظة:
.لم استعمل dbedit لانه يسجل المعلومة مباشرة في قاعدة البينات عند الاغلاق
.استعمل دلفي7 فرنسي
وشكرا
أضن أن لك تكرار لنفس القيمة بحقل مفهرس .
دوما يكون أفضل لكل سائل أن يرفق المشروع أو جزء منه أو مكان الخلل فقط ، ليسهل الوصول الدقيق إلى المشكلة فيختزل الوقت عنه و عن غيره.
بالتوفيق.
هذا مثال بسيط ، و لكنه يفي بالغرض و به ما يهم و يجب معرفته
(الحقل المفهرس _Index _ هو : Code_Produit)
(إذا تم ادخال قيمة مكررة لهذا الحقل فسيعطيك البرقية : Violence de clé)

استعملت كودسورس الانتقال لاظهار قيم الجدول على Edit و combobox في كل من:
- الزرين: Précédent - Suivant
DBNavigator - DBGrid1CellClick -DBGrid1KeyDown - DBGrid1KeyUp


كما أنه بالإمكان استعمال الحدث afterscroll للـــ Table1


كذلك
كود :
form7.edit16.text:=dm.table5.fieldbyname('Cod-grop').asstring;
يمكن كتابته :
كود :
form7.edit16.text:=dm.table5.fieldValues['Cod-grop'];
فقط أنا عددت الطرق للتضح الصورة


**** بالتوفيق *****
شكرا اخي
والمشروع الذي اعمل عليه موجود بالمرفقات اتمنى ان تتطلع عليه وتخبرني برايك فانا لم اجد الحل بعد واذا كانت فيه نقائص ****و ات تطلعني عليها فانا مبتدا في هذة اللغة من البرمجة وبارك الله فيك
المشكلة كلها بform7
يمكن في هذه الحالة استخدام مكونات ContrôleDB مثل TDBEdit و TDBComboBox و TDBImage وغيرها.
شكرا على الردود
ظهر لي مشكل جديد وهو مشكل التاريخ في mask edit كيف اربطه بقاعدة البيانات
رغم اني ادخل قيمة تاريخية معقولة الى انه يظهر رسالة عند التشغيل تقول ان التاريخ المدخل / / غير صحيح
فهل من حل وبارك الله على الجميع
السلام عليكم :

إقتباس :dm.table5.fieldbyname('Date-nais').asstring:=maskedit1.text;

الصواب:
كود :
dm.table5.fieldbyname('Date-nais').AsDateTime:=StrToDate(maskedit1.text);
كذلك مع باقي الحقول المخصصة للتاريخ.

بعد التصحيح ، يظهر مشكل آخر بقاعدة البيانات
رسالة: Enregistrement maitre absent
رغم أن محتواها يبدو مفهوما ، لكني لست أدري الرسالة متعلقة بالقاعدة أو المحرك ، أو طريقة الانشاء أو خلل بالمحرر ...
رغم أنه يتم فتحها بشكل عادي

المهم قمت بانشاء جديد لقاعدة البيانات بكل حقولها . و هي تعمل عادي. ما عليك إلا تعديل حجم الحقول ( كل الحقول النصية و ضعت لها قيمة 10 )

بالتوفيق
بارك الله فيك
وماهو الكود العكسي اي من قاعدة البينات الى maskedit وشكرا
الكود يكون مثل سابقه أي:
4+5=3+6 هي نفسها 6+3=5+4