تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار بخصوص استعلام التعديل
#1
السلام عليكم :

اريد استفسار بسيط  من اصحاب العلم في حل هذة المشكلة البسيطة وهي عندي جدولين ويوجد بينهما علاقة للعلم انهما من قاعدة بيانات sql serever 2008  الجدول الاول وهو emp_no وهو الجدول الرئيسي الخاص ببيانات الموظف والجدول الثاني وهو family وهو خاص بالعائلة وللعلم ان بينهما علاقة .

سوالي وهو عند تعديل البيانات عن طريق جملة الاستعلام الخاصة بجملة inner join والمعروفة بعرض محتويات الجداول المربوطة لاتعمل ولكن عند التعديل بالجدول الرئسي تعمل معي . 

اترككم مع استعلام التعديل :

cmd1.CommandType = CommandType.Textcmd1.CommandType = CommandType.Text
cmd1.Connection = con
cmd1.CommandText = "UPDATE emp_no INNER JOIN family ON emp_no.family = family.family_no SET marital = '" & TextBox2.Text & "' where e_no = '" & TextBox1.Text & "'"

cmd1.Connection.Open()
cmd1.ExecuteNonQuery()

cmd1.Connection.Close()





MsgBox("تم تعديل البيانات بنجاح", MsgBoxStyle.Information, "المعلومات")


الملفات المرفقة صورة/صور
       
الرد }}}}
تم الشكر بواسطة:
#2
اخي Dark لماذا تستخدم Inner Join في عمليات التحديث لما لا تقوم بتعديل كل جدول على حدا اليس من الافضل لك ان تعتمد الطريقة التقليدية و المتعارف عليها و تبتعد عن تعقيدات الربط في جمل الاستعلام 
حتى البرامج الكبيرة و الاحترافية لا تعتمد مثل هذه الطرق ؟؟
اطرح مشكلتك بشكل مفصل و ان شاء الله ستجد الاجابة 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:
#3
شكرا اخي عالرد السريع والاستجابة ولكن كيف يمكن ذالك .
مثال انا عندما اعدل علي الجدول الرئيسي وهو emp_no يشتغل التعديل ولكن عند التعديل علي الجدول الثاني family لايعمل

انظر اخي الكريم :
cmd1.CommandText = "UPDATE Emp_no SET marital = '" & TextBox2.Text & "' where e_no = '" & TextBox1.Text & "'"

هذا استعلام التعديل الجدول الاول يشتغل بشكل صحيح



cmd1.CommandText = "UPDATE family SET marital = '" & TextBox2.Text & "' where e_no = '" & TextBox1.Text & "'"

هذا استعلام التعديل الجدول الثاني لايشتغل للعلم ان الحقل marital موجود بالجدول الاول emp_no

اسف هكذا

cmd1.CommandText = "UPDATE family SET descrip= '" & TextBox2.Text & "' where e_no = '" & TextBox1.Text & "'"

هذا استعلام التعديل الجدول الثاني لايشتغل وحيث ان الحقل descrip موجود بالجدول family

الاستاذ ابوليلي ان الجداول مربوطة وتوجد علاقة بينهما
الرد }}}}
تم الشكر بواسطة:
#4
الحقل e_no هو حقل الربط في الجدول الفرعي (family) اليس كذلك (هل هو مربوط بشكل صحيح و يعرض البيانات المرتبطة)
هل تظهر رسالة خطأ ؟؟
لو امكن ارفاق المشروع او صورة مصغرة عنه
كذلك استخدم اداة عرض الاكواد في محرر الكتابة افضل للعرض في صفحة المنتدى
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:
#5
انظر اخي الكريم

اعتقد انك من خلال الصورة تلاحظ ان الامور مافيها مشاكل في الربط ولكن في جملة الاستعلام التعديل فقط بجدول واحد يتم التعديل وهو الجدول الاول emp_no .

للعلم في استعلام (البحث) وبالاضافة الي جملة inner join مافيها مشكلة علي الاطلاق تتم بشكل عادي


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#6
اخي من خلال الصورة الخاصة بك (اذا كانت تمثل الجداول الحقيقية في مثالك ام هي مجرد توضيح)
نحن نحدث الجدول الفرعي بالاعتماد على شرط محدد (حقل ما)
و في الكود الخاص بك و الذي يحدث الجدول family انت استخدمت الحقل e_no كشرط للتحديث
و من خلال النظر للصورة انا لا ارى الحقل e_no في الجدول الفرعي family  و بدلا منه  ارى family_no
كل ما اريده منك ان تحدد حقل الربط في الجدول الفرعي ( KeyForiegn) و استخدامه في عملية التحديث (اي ان يكون هو حقل الشرط)
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:
#7
يا اخي الكريم المسئلة واضحة في الصورة و كما قلت حقل الربط في الجدول الفرعي family هو family_no كيف يمكن كتابة جملة استعلام التعديل مثلا اريد ان تعديل في الحقل descrip الذي هو في الجدول family كيف السبيل الي ذالك . اكتب لي جملة استعلام التعديل مثلا اريد ان تعديل في الحقل descrip .

انظر الي الصورة التي ارفقتها سوف تري الجدول family والحقول

اخي الكريم شكرا لقد حللت المشكلة وهي نفس ماقلت family_no ان يكون هو حقل الشرط اشتغل استعلام التعديل بنجاح فعلا انة افضل من جملة inner join

cmd1.CommandText = "UPDATE family SET descrip = '" & TextBox2.Text & "' where family_no = '" & TextBox7.Text & "'"

شكرا جزيلا علي هذة المعلومة القيمة فعلا كلامك صحيح 100% وسامحني اتعبتك معي
الرد }}}}
تم الشكر بواسطة: ابو ليلى
#8
هذا كودك القديم
PHP كود :
cmd1.CommandText "UPDATE family SET descrip= '" TextBox2.Text "' where e_no = '" TextBox1.Text "'" 
اليس من المفروض ان يكون هكذا
PHP كود :
cmd1.CommandText "UPDATE family SET descrip= '" TextBox2.Text "' where family_no = '" TextBox1.Text "'" 

تمام بالتوفيق اخي الكريم
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة:
#9
نعم هكذا كما قلت شكرا جزيلا وسامحني اتعبتك معي فعلا
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] بخصوص WebBrowser dubai.eig 5 146 أمس, 03:10 PM
آخر رد: dubai.eig
  استفسار عن الجداول المتعددة في قاعدة البيانات اكسس أبووسم 4 79 14-01-17, 12:36 PM
آخر رد: أبووسم
  سئوال بخصوص التاريخ السيد الجوهري 2 105 08-01-17, 04:01 PM
آخر رد: السيد الجوهري
  استفسار حول (ComboBox) و (TextBox). المبرمج المبتدئ 1 10 253 05-01-17, 03:37 AM
آخر رد: المبرمج المبتدئ 1
  بخصوص الاداة WebBrowser ali.alfoly 5 123 31-12-16, 04:59 PM
آخر رد: ali.alfoly
  التعديل الذي أقوم به في الفورم لا يظهر عند عمل RUN نسيم 9 289 28-12-16, 05:10 PM
آخر رد: Basil Abdallah
  [VB.NET] استفسار عن DataGridView dubai.eig 3 159 28-12-16, 08:11 AM
آخر رد: Hazim Elabd
  كيفية التعديل على كود HTML ومن ثم عرضه في WebBrowser bidaya 5 127 24-12-16, 03:47 PM
آخر رد: ابو ليلى
  [VB.NET] استفسار عن اضافة عبدالرحمن المكاوي 8 207 20-12-16, 06:48 PM
آخر رد: zinom
  سؤال بخصوص الكرستال ريبورت hglogtd 10 463 19-12-16, 04:12 PM
آخر رد: وائل القطاوي

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


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