ماهى عملية الضرب داخل sql - حماده ممدوح البحيرى - 03-12-22
السلام عليكم
PHP كود :
"Update report_Store Set Qty = Qty + " & Dgv_prd2.Rows(i).Cells(4).Value & " , totalPrice =Qty * SellPrice Where Prd_ID = @Prd_ID"
كل العمليات الحسابية + - / تنجح معى الا * عملية الضرب
ف انا اريد ضرب عمودين فى سيكوال
اول شئ بقولة الكمية هاتها من الداتا جريد فيو
ثم اضرب الكمية فى سعر البيع
ولكن النتيجة تعطينى صفر فى كل مرة رغم ان كلا من السعر او الكمية اكبر من 10
يعنى مفيش حاجه منهم صفر
RE: ماهى عملية الضرب داخل sql - عبدالله الدوسري - 03-12-22
كود :
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 كما وضعت لك المثال.
RE: ماهى عملية الضرب داخل sql - حماده ممدوح البحيرى - 04-12-22
(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 كما وضعت لك المثال.
شكرا لك اخى واستاذى
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
RE: ماهى عملية الضرب داخل sql - kebboud - 17-12-22
(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 كما وضعت لك المثال.
شكرا لك اخى واستاذى
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر
RE: ماهى عملية الضرب داخل sql - حماده ممدوح البحيرى - 18-12-22
(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 كما وضعت لك المثال.
شكرا لك اخى واستاذى
تم الحل بفضل الله ثم بفضل خبرتك ومساعدتك لى
اشكرررك جدا
و لكن اشرح لنا كيف تم الحل حتى نستفيد منك و لك الشكر
اهلا بيك اخى الكريم
بص انا هحط لك الكود كله بحيث تفهم منه ويمكنك اخذ منه ما يناسبك
دا المفروض بعد م بندوس طباعه فاتورة الكاشير بنفعل الصب دا
كود :
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
RE: ماهى عملية الضرب داخل sql - Taha Okla - 18-12-22
(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)
يعني : نجمع الكميتين ثم نضرب بـ سعر الوحدة أو تكلفتها .. أو أي رقم ..
ولاحظ أنه وضع الجمع بين قوسين وذلك ليتم الجمع أولاً ثم يضرب بالسعر.
|