delphi4arab منتديات دلفي للعرب
تحديث بيانات جدول مرتبط مع جدول اخر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : تحديث بيانات جدول مرتبط مع جدول اخر (/showthread.php?tid=10570)



تحديث بيانات جدول مرتبط مع جدول اخر - احمد العراقي - 29-11-2019

السلام عليكم اعضاء المنتدى الاعزاء
عندي قاعدة بيانات Absolute فيها جدولين  
1- جدول المؤلفين ويشمل(رقم المؤلف - اسم المؤلف - تاريخ الولادة - تاريخ الوفاة - .......)
2- جدول الكتب ويشمل ( رقم الكتاب - عنوان الكتاب - رقم المؤلف - .........)
بما انه قاعدة البيانات Absolute ليست علائقية فلا يمكن انشاء علاقة بينهما لذلك المطوب هنا هو عند تغيير رقم المؤلف من قبل المستخدم في جدول المؤلفين يتغيير رقم المؤلف في جدول الكتب تلقائيا فكيف يمكن تحقيق ذلك وشكرا


RE: تحديث بيانات جدول مرتبط مع جدول اخر - onexite - 30-11-2019

المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب


RE: تحديث بيانات جدول مرتبط مع جدول اخر - احمد العراقي - 30-11-2019

(30-11-2019, 09:20 AM)onexite كتب : المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
طيب ماذا لو اخطأ المستخدم في ادخال رقم المؤلف و اراد تعديله فيما بعد (في جدول المؤلفين)


RE: تحديث بيانات جدول مرتبط مع جدول اخر - larbiparadox - 30-11-2019

وعليك السلام

يمكن فعل ذلك بأوامر SQL بواسطة Update

* قبل تغيير رقم المؤلف إبحث عليه إذا كان موجود من قبل ، إذا كان موجود يعلمك بأنه موجود و لا يقوم بتغيير رقم المؤلف
* نفترض أن جدول المؤلف هو Author_Table  و جدول كتبه هو book_Table ، ورقم المؤلف في كلا الجدولين هما Author_N 
   و ABSQuery1 لتنفيذ أوامر SQL
   و Edit1 لوضع الرقم القديم
   و Edit2 لوضع الرقم الجديد
- يكون كما يلي :
بعدما قمنا بالبحث على الرقم ، ليس مستعمل من قبل


التعديل على جدول المؤلف

كود :
  with ABSQuery1 do   begin     Active:=False;     SQL.Clear;     SQL.Add('Update Author_Table set Author_N='+QuotedStr(Edit2.Text) +               ' where Author_N = '''+Edit1.Text+'''');     ExecSQL;   end;
وبعدها مباشرة التعديل جدول الكتب

كود :
  with ABSQuery1 do   begin     Active:=False;     SQL.Clear;     SQL.Add('Update book_Table set Author_N='+QuotedStr(Edit2.Text) +               ' where Author_N = '''+Edit1.Text+'''');     ExecSQL;   end;

* بالنسبة إلى QuotedStr  معروفة للبعض ، تعرف على أنها قيمة نصية ، نفس عمل ''''   '''' و ضعتها ليستفاد منها


RE: تحديث بيانات جدول مرتبط مع جدول اخر - onexite - 30-11-2019

(30-11-2019, 11:32 AM)احمد العراقي كتب :
(30-11-2019, 09:20 AM)onexite كتب : المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
طيب ماذا لو اخطأ المستخدم في ادخال رقم المؤلف و اراد تعديله فيما بعد (في جدول المؤلفين)
المفتاح الرئيسي يكون اوتوماتيكي عامة يكون (AUTO_INCREMENT ) لا يتدخل فيه المستخدم


RE: تحديث بيانات جدول مرتبط مع جدول اخر - anter2016 - 26-01-2020

(29-11-2019, 10:49 AM)احمد العراقي كتب : السلام عليكم اعضاء المنتدى الاعزاء
عندي قاعدة بيانات Absolute فيها جدولين  
1- جدول المؤلفين ويشمل(رقم المؤلف - اسم المؤلف - تاريخ الولادة - تاريخ الوفاة - .......)
2- جدول الكتب ويشمل ( رقم الكتاب - عنوان الكتاب - رقم المؤلف - .........)
بما انه قاعدة البيانات Absolute ليست علائقية فلا يمكن انشاء علاقة بينهما لذلك المطوب هنا هو عند تغيير رقم المؤلف من قبل المستخدم في جدول المؤلفين يتغيير رقم المؤلف في جدول الكتب تلقائيا فكيف يمكن تحقيق ذلك وشكرا



RE: تحديث بيانات جدول مرتبط مع جدول اخر - anter2016 - 26-01-2020

(30-11-2019, 11:32 AM)احمد العراقي كتب :
(30-11-2019, 09:20 AM)onexite كتب : المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
طيب ماذا لو اخطأ المستخدم في ادخال رقم المؤلف و اراد تعديله فيما بعد (في جدول المؤلفين)

السلام عليكم

في هذه الحالة يمكن تغير رقم المؤلف  في حالة لم يرتبط بسجل اخر في الكتب