![]() |
|
[VB.NET] استفسار بخصوص استعلام التعديل - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] استفسار بخصوص استعلام التعديل (/showthread.php?tid=18022) |
استفسار بخصوص استعلام التعديل - dark1459 - 14-11-16 السلام عليكم : اريد استفسار بسيط من اصحاب العلم في حل هذة المشكلة البسيطة وهي عندي جدولين ويوجد بينهما علاقة للعلم انهما من قاعدة بيانات 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, "المعلومات") RE: استفسار بخصوص استعلام التعديل - ابو ليلى - 14-11-16 اخي Dark لماذا تستخدم Inner Join في عمليات التحديث لما لا تقوم بتعديل كل جدول على حدا اليس من الافضل لك ان تعتمد الطريقة التقليدية و المتعارف عليها و تبتعد عن تعقيدات الربط في جمل الاستعلام حتى البرامج الكبيرة و الاحترافية لا تعتمد مثل هذه الطرق ؟؟ اطرح مشكلتك بشكل مفصل و ان شاء الله ستجد الاجابة RE: استفسار بخصوص استعلام التعديل - dark1459 - 14-11-16 شكرا اخي عالرد السريع والاستجابة ولكن كيف يمكن ذالك . مثال انا عندما اعدل علي الجدول الرئيسي وهو 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 الاستاذ ابوليلي ان الجداول مربوطة وتوجد علاقة بينهما RE: استفسار بخصوص استعلام التعديل - ابو ليلى - 14-11-16 الحقل e_no هو حقل الربط في الجدول الفرعي (family) اليس كذلك (هل هو مربوط بشكل صحيح و يعرض البيانات المرتبطة) هل تظهر رسالة خطأ ؟؟ لو امكن ارفاق المشروع او صورة مصغرة عنه كذلك استخدم اداة عرض الاكواد في محرر الكتابة افضل للعرض في صفحة المنتدى RE: استفسار بخصوص استعلام التعديل - dark1459 - 14-11-16 انظر اخي الكريم اعتقد انك من خلال الصورة تلاحظ ان الامور مافيها مشاكل في الربط ولكن في جملة الاستعلام التعديل فقط بجدول واحد يتم التعديل وهو الجدول الاول emp_no . للعلم في استعلام (البحث) وبالاضافة الي جملة inner join مافيها مشكلة علي الاطلاق تتم بشكل عادي RE: استفسار بخصوص استعلام التعديل - ابو ليلى - 14-11-16 اخي من خلال الصورة الخاصة بك (اذا كانت تمثل الجداول الحقيقية في مثالك ام هي مجرد توضيح) نحن نحدث الجدول الفرعي بالاعتماد على شرط محدد (حقل ما) و في الكود الخاص بك و الذي يحدث الجدول family انت استخدمت الحقل e_no كشرط للتحديث و من خلال النظر للصورة انا لا ارى الحقل e_no في الجدول الفرعي family و بدلا منه ارى family_no كل ما اريده منك ان تحدد حقل الربط في الجدول الفرعي ( KeyForiegn) و استخدامه في عملية التحديث (اي ان يكون هو حقل الشرط) RE: استفسار بخصوص استعلام التعديل - dark1459 - 15-11-16 يا اخي الكريم المسئلة واضحة في الصورة و كما قلت حقل الربط في الجدول الفرعي 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% وسامحني اتعبتك معي RE: استفسار بخصوص استعلام التعديل - ابو ليلى - 15-11-16 هذا كودك القديم 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 & "'" تمام بالتوفيق اخي الكريم RE: استفسار بخصوص استعلام التعديل - dark1459 - 15-11-16 نعم هكذا كما قلت شكرا جزيلا وسامحني اتعبتك معي فعلا |