تقييم الموضوع :
  • 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)

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,858 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  لايمكن الوصول للملف لأنه قيد الاستخدام بواسطة عملية أخرى صالح عبدالله 3 324 24-12-24, 12:17 AM
آخر رد: صالح عبدالله
  استدعاء من جدولين داخل اداه FlowLayoutPanel برجاء الافادة للضرورة جداً modymody300894 7 634 15-11-24, 11:02 AM
آخر رد: modymody300894
  كتابه عدد معين من الارقام داخل تيكست بوكس modymody300894 3 556 07-11-24, 09:15 PM
آخر رد: modymody300894
  ترتيب شجره الحسابات داخل الجريد فيو modymody300894 2 409 31-10-24, 12:27 PM
آخر رد: modymody300894
Exclamation [VB.NET] ممكن عمل كود لحفظ المكتوب داخل اداة TextBox الورد الصناعي 9 797 17-10-24, 11:43 PM
آخر رد: salamandal
  ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو alachk 11 1,091 11-08-24, 11:44 AM
آخر رد: alachk
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,760 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  كيف اقوم بتحديث بيانات داخل Datagrid عبر Button moh61 5 471 28-06-24, 12:03 AM
آخر رد: Zuhare
  اعاني من بطئ بتحميل البيانات داخل الداتا جيرد يوجد لدي اكثر من 100 الف صف RADOS 1 583 11-06-24, 07:42 PM
آخر رد: غزة العزة

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


يقوم بقرائة الموضوع: