منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة في استعلام عن سجل موجود والتعديل عليه
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اصدقائي الاعزاء 

لدي جدول يوجد في سجلات واريد الاسنتعلام من FlowLayoutPanel.

في حالة السجل موجود مسبقا في قاعدة البيانات يتم التعديل عليه 
وفي حالة غير مودو يتم اضافه الي القاعدة 
كود :
 For i As Integer = 0 To frm_Conversion_store.FlowLayoutPanel3.Controls.Count - 1


               Dim Cmd As New SqlCommand("SELECT * FROM Tbl_all_store WHERE Bar_code=" & frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("lbl_barcode").Text & "and ID_STORE=" & frm_Conversion_store.Label10.Text & "", conn)
               Dim DR As SqlDataReader
               'Cmd.Transaction = trans
               DR = Cmd.ExecuteReader


               If DR.HasRows Then

                   While DR.Read



                       'Dim a As Integer = frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label2").Text

                       'Dim Cmd5 As New SqlCommand("Update Tbl_all_store set Quantitys=Quantitys + " & a & " where Bar_code=" & frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("lbl_barcode").Text & "and ID_STORE=" & frm_Conversion_store.Label10.Text & "", conn)

                       'Cmd5.Transaction = trans

                       'Cmd5.ExecuteNonQuery()



                   End While

                   Dim Com1 As New SqlCommand("insert into Tbl_all_store(id_Store,Bar_code,ItemName,GroupName,UnitsName,ExpirationDate,PurchasePrice,SalePrice,SalePrice2,DiscountRatio,DiscountValue,Profits,LessAmount,Quantitys,Store_Name,Itemimg)values(@id_Store,@Bar_code,@ItemName,@GroupName,@UnitsName,@ExpirationDate,@PurchasePrice,@SalePrice,@SalePrice2,@DiscountRatio,@DiscountValue,@Profits,@LessAmount,@Quantitys,@Store_Name,@Itemimg)", conn)


                   Com1.Parameters.AddWithValue("@id_Store", frm_Conversion_store.Label10.Text)
                   Com1.Parameters.AddWithValue("@Store_Name", frm_Conversion_store.BunifuButton2.Text)
                   Com1.Parameters.AddWithValue("@Bar_code", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("lbl_barcode").Text)
                   Com1.Parameters.AddWithValue("@ItemName", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("btn").Text)
                   Com1.Parameters.AddWithValue("@GroupName", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label13").Text)
                   Com1.Parameters.AddWithValue("@UnitsName", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label14").Text)
                   Com1.Parameters.AddWithValue("@ExpirationDate", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label5").Text)
                   Com1.Parameters.AddWithValue("@PurchasePrice", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label6").Text)
                   Com1.Parameters.AddWithValue("@SalePrice", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label2").Text)
                   Com1.Parameters.AddWithValue("@SalePrice2", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label8").Text)

                   Com1.Parameters.AddWithValue("@DiscountRatio", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label9").Text)
                   Com1.Parameters.AddWithValue("@DiscountValue", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label10").Text)
                   Com1.Parameters.AddWithValue("@Profits", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label11").Text)
                   Com1.Parameters.AddWithValue("@LessAmount", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label12").Text)
                   Com1.Parameters.AddWithValue("@Quantitys", frm_Conversion_store.FlowLayoutPanel3.Controls(i).Controls("Label3").Text)
                   'com1.Parameters.AddWithValue("@Itemimg", picbyte)
                   'Com1.Transaction = trans
                   Com1.ExecuteNonQuery()
               End If

               DR.Close()

           Next
لا داعي لعمل For للدورات على الادوات والبحث فيه

عليك بالاستعلام عن رقم الباركود فقط
فاذا وجده فقم بتنفيذ كود التعديل
واذا لم يجده فقم بتنفيذ كود الاضافه
(30-05-21, 12:59 AM)Fareed كتب : [ -> ]لا داعي لعمل For للدورات على الادوات والبحث فيه

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

الفكرة من المشروع التحويل بين المخازن لهذا انا استخدم  for للمقارنة بين الباركود ورقم المخزن  الان في حالة  الباركود ورقم المخزن موجودين  في الجدول يتم تعديل كمية الصنف وفي حالة غير موجودين يتم اضافة الصنف ( الباركود - ورقم المخزن - اسم الصنف - الكمية  )


ان شاء الله تمون وضحة الفكرة
الموضوع ببساطة انشئ sub خاص بالتعديل وليكن اسمه updae_ و sub خاص بالاضافة وليكن اسمه مثلا add_
ثم استعلم عن المادة في المخزن
اذا كانت موجودة يتم تنفيذ updae_ 
واذا كانت غير موجودة يتم تنفيذ add_
(30-05-21, 01:57 PM)ابو انس كتب : [ -> ]الموضوع ببساطة انشئ sub خاص بالتعديل وليكن اسمه updae_ و sub خاص بالاضافة وليكن اسمه مثلا add_
ثم استعلم عن المادة في المخزن
اذا كانت موجودة يتم تنفيذ updae_ 
واذا كانت غير موجودة يتم تنفيذ add_

شكرا ابو انس علي المداخلة 
بس ممكن توضيح اكثر لو سمحت
اول شي اكيد انت عندك جدول خاص بالمواد
وجدول اخر خاص بالمخازن
اعمل علاقة بين الجدولين
ثم اعمل اعمل استعلام يجلب اسم المادة وفق بارامترات
بارامتر يمثل مثلا اسم المستودع وباؤامتر يمثل اسم المادة
طبعا هذا على اساس انو اسم المستودع واسم المادة لا يقبل التكرار
في حال كانت الصفوف التي جلبها عددها اكبر من صفر فهذا يعني ان هذه المادة موجودة في هذا المستودع
الاحتمال الثاني ان عدد الصفوف ليس اكبر من صفر وهذا يعني ان المادة غير موجودة
بالحالة الاولى منعمل كود تعديل
وبالحالة الثانية منعمل كود اضافة
....
في حال كان هذا الكلام غير واضح بالنسبة لك خبرني مشان اعملك مشروع صغير فيه مثال وارفعلك السورس كود
(30-05-21, 03:24 PM)ابو انس كتب : [ -> ]اول شي اكيد انت عندك جدول خاص بالمواد
وجدول اخر خاص بالمخازن
اعمل علاقة بين الجدولين
ثم اعمل اعمل استعلام يجلب اسم المادة وفق بارامترات
بارامتر يمثل مثلا اسم المستودع وباؤامتر يمثل اسم المادة
طبعا هذا على اساس انو اسم المستودع واسم المادة لا يقبل التكرار
في حال كانت الصفوف التي جلبها عددها اكبر من صفر فهذا يعني ان هذه المادة موجودة في هذا المستودع
الاحتمال الثاني ان عدد الصفوف ليس اكبر من صفر  وهذا يعني ان المادة غير موجودة
بالحالة الاولى منعمل كود تعديل
وبالحالة الثانية منعمل كود اضافة
....
في حال كان هذا الكلام غير واضح بالنسبة لك خبرني مشان اعملك مشروع صغير فيه مثال وارفعلك السورس كود

مزال الكلام غير واضح عندي لو تكرمت ارفع ليا المشروع لو هذا ما ياخد من وقتك
في المرفقات تجد سورس كود يشرح الامر
طبعا قمت بتصميمه وبرمجته وانا مستعجل يعني مجرد مثال لتتضح الصورة لديك
(30-05-21, 11:17 PM)ابو انس كتب : [ -> ]في المرفقات تجد سورس كود يشرح الامر
طبعا قمت بتصميمه وبرمجته وانا مستعجل يعني مجرد مثال لتتضح الصورة لديك
شكرا لك ابو انس