تحديث بيانات جدول مرتبط مع جدول اخر
#1
السلام عليكم اعضاء المنتدى الاعزاء
عندي قاعدة بيانات [size=small]Absolute فيها جدولين  [/size]
[size=small]1- جدول المؤلفين ويشمل(رقم المؤلف - اسم المؤلف - تاريخ الولادة - تاريخ الوفاة - .......)[/size]
[size=small]2- جدول الكتب ويشمل ( رقم الكتاب - عنوان الكتاب - رقم المؤلف - .........)[/size]
[size=small]بما انه قاعدة البيانات [size=small]Absolute ليست علائقية فلا يمكن انشاء علاقة بينهما لذلك المطوب هنا هو عند تغيير رقم المؤلف من قبل المستخدم في جدول المؤلفين يتغيير رقم المؤلف في جدول الكتب تلقائيا فكيف يمكن تحقيق ذلك وشكرا[/size][/size]
الرد
#2
المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
الرد
#3
(30-11-2019, 09:20 AM)onexite كتب : المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
طيب ماذا لو اخطأ المستخدم في ادخال رقم المؤلف و اراد تعديله فيما بعد (في جدول المؤلفين)
الرد
#4
وعليك السلام

يمكن فعل ذلك بأوامر 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  معروفة للبعض ، تعرف على أنها قيمة نصية ، نفس عمل ''''   '''' و ضعتها ليستفاد منها
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • احمد العراقي
الرد
#5
(30-11-2019, 11:32 AM)احمد العراقي كتب :
(30-11-2019, 09:20 AM)onexite كتب : المفتاح لا يتم تغييره لانه يحافظ على ترابط الجداول / البيانات
بدل تغيير المفتاح الاولي غير المفتاح المهاجر في جدول الكتب
طيب ماذا لو اخطأ المستخدم في ادخال رقم المؤلف و اراد تعديله فيما بعد (في جدول المؤلفين)
المفتاح الرئيسي يكون اوتوماتيكي عامة يكون (AUTO_INCREMENT ) لا يتدخل فيه المستخدم
[-] كل من 1 user says قال شكرا ل onexite على المشاركة المفيدة
  • احمد العراقي
الرد


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


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف