التحديث والتعديل في قاعدة البيانات
#1
السلام عليكم
استخدمت قاعدة بيانات جداولها من نوع paradoxلكن عندما قمت بانشاء كود بحث واضافة في الجداول تضهر رسالة خطا ان القاعدة ليست في نمط الاضافة والتعديل
فما هوالحل؟
الرد
#2
استخدم هذا الكود قبل كود التعديل

للتعديل
PHP كود :
table1.edit; 


لاضافه سجل
PHP كود :
table1.insert; 


iهذان الكوان يجب كتابتهما اذا اردت التعديل اوالاضافه في السجل


اخبرني بالتطورات
الرد
#3
شكرا جزيلا
استخدمت التعليمتين اعلاه لكنه يعطي نفس الرسالة بان
dataset is not in insert or edit mode
الرد
#4
وعليكم السلام ورحمة الله
دائما وأبدا، عند طرح سؤال/مشكل ضع الجزء من الكود الذي به الخلل...
ماذا كتبت؟
الرد
#5
السلام عليكم
حلت لدي مشكلة التحديث لكن ظهرت مشكلة الحذف
كود :
formname.table1.open if formname.table1.fieldbyname(' name') .value=edit1.Text then formnamet.table1.Delete
الرد
#6
وعليكم السلام و رحمة الله

أين هو المشكل ؟

شرح لكودك :
- تفتح الجدول table1
- تقارن قيمة الحقل name بالنص في Edit1 ( في التسجيل الأول فقط )
إذا كانت نفسها تقوم بالحذف

+ راجع: تعاريف و أمثلة بسيطة حول ق البيانات و ربط جدول بالدلفي،و بعض العمليات عليه/-1 ‏

بالتوفيق
الرد
#7
انا الآن في مقهى نت لايوجد معي الدلفي

اعتقد ان هذا هو الكود الصحيح

PHP كود :
formname.table1.open;
formname.table1.delete;

  if 
formname.table1.fieldbyname(' name') .value=edit1.Text then
 formname
.table1.destroy 
يجب ان نعلم قاعده البيانات اننا نريد الحذف منها


اذا لم تنفع ساضع سورس تقوم باضافه وتعديل وحذف من قاعده بيانات

وان شاء الله تنفع

الرد
#8
السلام عليكم
شكرا لك لكني وضعته ولم تحل المشكلة
الرد
#9
السلام عليكم

@ شمس الغروب : لحد الآن لم توضح ما المشكلة ؟؟ :mad:

@ محمد الدرة :

بالكود الذي وضعته : تفتح الجدول - تحذف أول تسجيل - تدمر table1 في حال تحقق الشرط

ما الذي تحاول فعله ؟؟:confused:

بالتوفيق
الرد
#10
السلام عليكم جميعا
أخي شمس الغروب

مجرد توضيح و صحح لي إن لم أفهمك.
في الكود الذي عرضت
إقتباس :حلت لدي مشكلة التحديث لكن ظهرت مشكلة الحذف

كود:
formname.table1.open
if formname.table1.fieldbyname(' name') .value=edit1.Text then
formnamet.table1.Delete
أخي إذا كنت تستخدم Table فأنت أكيد تعرض بياناتك في أحد مكونات Data Controle
مثل DBGrid, DBEdit, or ........
سجل بعد سجل أي سجل واحد في كل مرة و لذلك تكفي فقط
Table1.Delete
أما إذا كنت تريد حذف كل سجل يحمل الإسم أحمد مثلا كما في جملة الشرط عندك
فلابد من إستخدام أحد دوال التكرار مثل While next or Repeat Until
كــ
كود :
Table1.Open; Table1.First; While not Tabel1.EOF Do begin if Table1.FieldByName('Name').AsString=Edit1.Text; Table1.Delete Table1.Next; End;

في إنتظار التجربة و الرد
تقبل تحياتي
الرد


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


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