تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهى عملية الضرب داخل sql
#1
السلام عليكم
PHP كود :
"Update report_Store Set Qty = Qty + " Dgv_prd2.Rows(i).Cells(4).Value " , totalPrice =Qty * SellPrice  Where Prd_ID = @Prd_ID" 

كل العمليات الحسابية  + - / تنجح معى الا *  عملية الضرب 
ف انا اريد ضرب عمودين فى سيكوال 
اول شئ بقولة الكمية هاتها من الداتا جريد فيو
ثم اضرب الكمية فى سعر البيع 
ولكن النتيجة تعطينى صفر فى كل مرة  رغم ان كلا من السعر او الكمية اكبر من 10 
يعنى مفيش حاجه منهم صفر
صلوا على سيد الخلق سيدنا محمد
الرد }}}
تم الشكر بواسطة:
#2
كود :
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 كما وضعت لك المثال.
الرد }}}
تم الشكر بواسطة: حماده ممدوح البحيرى
#3
(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 كما وضعت لك المثال.

شكرا لك اخى واستاذى 
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
صلوا على سيد الخلق سيدنا محمد
الرد }}}
تم الشكر بواسطة: kebboud
#4
Heart 
(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 كما وضعت لك المثال.

شكرا لك اخى واستاذى 
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر 
Big Grin


    Heart ربي زدني علما  Heart

الرد }}}
تم الشكر بواسطة:
#5
(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 كما وضعت لك المثال.

شكرا لك اخى واستاذى 
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر 
Big Grin






اهلا بيك اخى الكريم 
بص انا هحط لك الكود كله بحيث تفهم منه ويمكنك اخذ منه ما يناسبك
دا المفروض بعد م بندوس طباعه فاتورة الكاشير بنفعل الصب دا
كود :
 Public Sub InsertStore()
       '****************************دا عشان مخزن الماركت وبالاخص تقرير المباع يوميا
       '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


       For i As Integer = 0 To Dgv_prd2.Rows.Count - 1
           Dim _Qty As String = Dgv_prd2.Rows(i).Cells(4).Value
           Dim _price As String = Dgv_prd2.Rows(i).Cells(5).Value
           Dim cmd1 As New SqlCommand("select * from report_Store where Prd_ID =@Prd_ID ", Con)
           cmd1.Parameters.Clear()
           cmd1.Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Dgv_prd2.Rows(i).Cells(1).Value
           Dim dt As New DataTable
           Dim adp As New SqlDataAdapter(cmd1)
           adp.Fill(dt)
           If dt.Rows.Count > 0 Then
               Dim Cmd2 As New SqlCommand
               With Cmd2
                   .Connection = Con
                   .CommandType = CommandType.Text
                   .CommandText = "Update report_Store Set Qty = Qty + " & _Qty & " , BuyPrice = (Qty + " & _Qty & ") * SellPrice Where Prd_ID = @Prd_ID"
                   .Parameters.Clear()
                   .Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Dgv_prd2.Rows(i).Cells(1).Value
               End With
               If Con.State = 1 Then Con.Close()
               Con.Open()
               Cmd2.ExecuteNonQuery()
               Con.Close()
               Cmd2 = Nothing
           Else
               Dim Cmd3 As New SqlCommand
               With Cmd3
                   .Connection = Con
                   .CommandType = CommandType.Text
                   .CommandText = "Insert Into report_Store ( Prd_ID,Qty,BuyPrice,SellPrice)values(@Prd_ID,@Qty,@BuyPrice,@SellPrice)"
                   .Parameters.Clear()
                   .Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Dgv_prd2.Rows(i).Cells(1).Value
                   .Parameters.AddWithValue("@Qty", SqlDbType.VarChar).Value = _Qty
                   .Parameters.AddWithValue("@BuyPrice", SqlDbType.Decimal).Value = _price * _Qty
                   .Parameters.AddWithValue("@SellPrice", SqlDbType.Decimal).Value = Dgv_prd2.Rows(i).Cells(5).Value
               End With
               If Con.State = 1 Then Con.Close()
               Con.Open()
               Cmd3.ExecuteNonQuery()
               Con.Close()
               Cmd3 = Nothing
           End If
       Next

   End Sub
صلوا على سيد الخلق سيدنا محمد
الرد }}}
تم الشكر بواسطة: Taha Okla
#6
(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 كما وضعت لك المثال.

شكرا لك اخى واستاذى 
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر 
Big Grin

كـ تبسيط للأمر :
-في البداية هو كان يكتب ضمن الاجراء هكذا :
كود :
"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)

يعني : نجمع الكميتين ثم نضرب بـ سعر الوحدة أو تكلفتها .. أو أي رقم .. 
ولاحظ أنه وضع الجمع بين قوسين وذلك ليتم الجمع أولاً ثم يضرب بالسعر.
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 268 11-02-24, 08:43 PM
آخر رد: assuhimi
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 318 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  حماية عمود داخل ورقة الاكسل العيدروس 3 195 05-01-24, 12:21 AM
آخر رد: HALIM ELEULMA
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 729 15-12-23, 07:47 AM
آخر رد: foad8920
  هل الداتا قراد فيو تسمح بتعدد الاسطر داخل الخلية عند جلب بيانات نصية طويله من قاعدة ب khalidalwdi 3 472 10-11-23, 11:08 AM
آخر رد: khalidalwdi
  يوجد مشكلة عند تحميل البيانات فى كمبوبوكس داخل داتا جريد new_programer 2 477 17-10-23, 06:51 PM
آخر رد: new_programer
  [VB.NET] ناتج عملية الطرح للأرقام الشعرية خطا عبدالله الصافي 3 404 27-09-23, 11:01 AM
آخر رد: قناص المدينة
  عملية حسابية خاصة محمد خيري 6 523 22-08-23, 09:09 AM
آخر رد: مصمم هاوي
  اريد اضافة متغيراخر داخل Listbox1 احتاج تعديل بسيط moh61 0 355 05-08-23, 02:29 PM
آخر رد: moh61
  اريد البحث عن ID داخل ListView من قاعدة بيانات لكل صنف معين moh61 6 704 26-07-23, 05:47 AM
آخر رد: Taha Okla

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


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