(17-12-22, 02:08 PM)kebboud كتب : (04-12-22, 07:10 AM)حماده ممدوح البحيرى كتب : (03-12-22, 03:53 PM)عبدالله الدوسري كتب :
كود :
Dim Qty As String = Dgv_prd2.Rows(i).Cells(4).Value
"Update report_Store Set Qty = Qty + " & Qty & " , totalPrice = (Qty + " & Qty & ") * SellPrice Where Prd_ID = @Prd_ID"
الله اعلم أن الكمية السابقة في قاعدة البيانات صفر،
يجب عليك تعديل الكمية في قاعدة البيانات أولا قبل أن تقوم بعملية ضرب الكمية في السعر
لا يمكن عمل هذا الإجراء في سطر واحد بالطريقة التي ذكرتها أنت.
أو أن تقوم بإعطاء الكمية مباشرة من الـ DataGridView كما وضعت لك المثال.
شكرا لك اخى واستاذى
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر
كـ تبسيط للأمر :
-في البداية هو كان يكتب ضمن الاجراء هكذا :
كود :
"Update report_Store Set Qty = Qty + " & Qty & " , totalPrice = (Qty) * SellPrice Where Prd_ID = @Prd_ID"
يعني يجمع الكميتين (الكمية التي في النافذة مع الكمية التي في القاعدة) :
لو فرضنا أن لكل متغير رقم للتمييز بينها مثلاً :
(
Qty1) الكمية القديمة في قاعدة البيانات،،
(
Qty2) الكمية في قاعدة البيانات،،
(
Qty0) الكمية الجديدة بعد الجمع في قاعدة البيانات
فيظن أنها أصبحت بهذا الشكل :
كود :
"Update report_Store Set Qty0 = Qty1 + " & Qty2 & " , totalPrice = (Qty0) * SellPrice Where Prd_ID = @Prd_ID"
لكن في الحقيقة أنه في الجزء التالي (
totalPrice = (Qty0) * SellPrice)
لازالت (
Qty0 = Qty1)
وليس المجموع (
Qty0 = Qty1+Qty2)
لأن الأمر لم يتم تنفيذه بعد لأن التنفيذ سيكون مباشر على كل الحقول بنفس الوقت(كأنه بنفس الوقت).
لذلك كان عليه التصحيح وليكتب (
totalPrice = (Qty1+Qty2) * SellPrice)
والتي كتبها هكذا -- لو وضعناها مع الأرقام : (
totalPrice = (Qty1 + " & Qty2 & ") * SellPrice)
والتي هي بالأصل : (
totalPrice = (Qty + " & Qty & ") * SellPrice)
يعني : نجمع الكميتين ثم نضرب بـ سعر الوحدة أو تكلفتها .. أو أي رقم ..
ولاحظ أنه وضع الجمع بين قوسين وذلك ليتم الجمع أولاً ثم يضرب بالسعر.
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».