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

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

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


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


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


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

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

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

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

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

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

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

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


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

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

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

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

@ محمد الدرة :

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

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

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

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

كود:
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 2