ربط قاعدة بيانات بالدلفي
#1
السلام عليكم
عندي في مشروعي مجموعة من 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 فرنسي
وشكرا
الرد
#2
أضن أن لك تكرار لنفس القيمة بحقل مفهرس .
دوما يكون أفضل لكل سائل أن يرفق المشروع أو جزء منه أو مكان الخلل فقط ، ليسهل الوصول الدقيق إلى المشكلة فيختزل الوقت عنه و عن غيره.
بالتوفيق.
الرد
#3
هذا مثال بسيط ، و لكنه يفي بالغرض و به ما يهم و يجب معرفته
(الحقل المفهرس _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'];
فقط أنا عددت الطرق للتضح الصورة


**** بالتوفيق *****


الملفات المرفقة
.rar   Exe.rar (الحجم : 343.72 ك ب / التحميلات : 99)
الرد
#4
شكرا اخي
والمشروع الذي اعمل عليه موجود بالمرفقات اتمنى ان تتطلع عليه وتخبرني برايك فانا لم اجد الحل بعد واذا كانت فيه نقائص ****و ات تطلعني عليها فانا مبتدا في هذة اللغة من البرمجة وبارك الله فيك


الملفات المرفقة
.rar   CNR.rar (الحجم : 48.4 ك ب / التحميلات : 69)
الرد
#5
المشكلة كلها بform7
الرد
#6
يمكن في هذه الحالة استخدام مكونات ContrôleDB مثل TDBEdit و TDBComboBox و TDBImage وغيرها.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#7
شكرا على الردود
ظهر لي مشكل جديد وهو مشكل التاريخ في mask edit كيف اربطه بقاعدة البيانات
رغم اني ادخل قيمة تاريخية معقولة الى انه يظهر رسالة عند التشغيل تقول ان التاريخ المدخل / / غير صحيح
فهل من حل وبارك الله على الجميع
الرد
#8
السلام عليكم :

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

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

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

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

بالتوفيق


الملفات المرفقة
.rar   DB.rar (الحجم : 702 بايت / التحميلات : 53)
الرد
#9
بارك الله فيك
وماهو الكود العكسي اي من قاعدة البينات الى maskedit وشكرا
الرد
#10
الكود يكون مثل سابقه أي:
4+5=3+6 هي نفسها 6+3=5+4
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم