تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
من فضلكم نوع الخطأ في الكود
#1
عند الحفظ ياتي هذا الخطأ ، مساعدة من فضلكم

كود :
Public Sub Insert_Sale_Details_Tbl()
       For i As Integer = 0 To dgvSale.Rows.Count - 1
           Dim Cmd As New SqlCommand
           With Cmd
               .Connection = Con
               .CommandType = CommandType.Text
               .CommandText = "Insert Into sale_Details_Tbl ( Sale_ID,Prd_ID,SalePrice,Qty,TotalAmount)values(@Sale_ID,@Prd_ID,@SalePrice,@Qty,@TotalAmount)"
               .Parameters.Clear()
               .Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = Sale_ID.Text
               .Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = dgvSale.Rows(i).Cells(0).Value
               .Parameters.AddWithValue("@SalePrice", SqlDbType.Decimal).Value = dgvSale.Rows(i).Cells(4).Value
               .Parameters.AddWithValue("@Qty", SqlDbType.Int).Value = dgvSale.Rows(i).Cells(5).Value
               .Parameters.AddWithValue("@TotalAmount", SqlDbType.Decimal).Value = dgvSale.Rows(i).Cells(6).Value
           End With
           If Con.State = 1 Then Con.Close()
           Con.Open()
           Cmd.ExecuteNonQuery()
           Con.Close()

           Cmd = Nothing

       Next
       MsgBox("تم إضافة فاتورة المبيعات بنجاح ", MsgBoxStyle.Information, "حفظ")
   End Sub



------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة:
#2
استخدم Integer.Parse

كود :
              .Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = Integer.Parse(Sale_ID.Text)
الرد
تم الشكر بواسطة: sofiane-phy , sofiane-phy
#3
(26-09-20, 06:42 PM)Anas Mahmoud كتب : استخدم Integer.Parse

كود :
              .Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = Integer.Parse(Sale_ID.Text)

نفس الخطأ يتكرر ، هل من حل آخر بارك الله فيك ؟
------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة:
#4
اقصد في جميع البرامترات ، لايصح ان تخبره بان قيمة البرامتر هي integer وتعطيها له string

جرب هكذا ، لم اجربه كتبته في النوت باد
كود :
Public Sub Insert_Sale_Details_Tbl()
      For i As Integer = 0 To dgvSale.Rows.Count - 1

dim SaleID As integer = Integer.Parse(Sale_ID.Text)
dim Prd_ID As integer = Integer.Parse(dgvSale.Rows(i).Cells(0).Value)
dim SalePrice As Decimal = Decimal .Parse(dgvSale.Rows(i).Cells(4).Value)
dim Qty As integer = Integer.Parse(dgvSale.Rows(i).Cells(5).Value)
dim TotalAmount As Decimal = Decimal .Parse(dgvSale.Rows(i).Cells(6).Value)

          Dim Cmd As New SqlCommand
          With Cmd
              .Connection = Con
              .CommandType = CommandType.Text
              .CommandText = "Insert Into sale_Details_Tbl ( Sale_ID,Prd_ID,SalePrice,Qty,TotalAmount)values(@Sale_ID,@Prd_ID,@SalePrice,@Qty,@TotalAmount)"
              .Parameters.Clear()
              .Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = SaleID
              .Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Prd_ID
              .Parameters.AddWithValue("@SalePrice", SqlDbType.Decimal).Value = SalePrice
              .Parameters.AddWithValue("@Qty", SqlDbType.Int).Value = Qty
              .Parameters.AddWithValue("@TotalAmount", SqlDbType.Decimal).Value = TotalAmount
          End With
          If Con.State = 1 Then Con.Close()
          Con.Open()
          Cmd.ExecuteNonQuery()
          Con.Close()

          Cmd = Nothing

      Next
      MsgBox("تم إضافة فاتورة المبيعات بنجاح ", MsgBoxStyle.Information, "حفظ")
  End Sub
الرد
#5
(26-09-20, 08:26 PM)Anas Mahmoud كتب : اقصد في جميع البرامترات ، لايصح ان تخبره بان قيمة البرامتر هي integer وتعطيها له string

جرب هكذا ، لم اجربه كتبته في النوت باد
كود :
Public Sub Insert_Sale_Details_Tbl()
      For i As Integer = 0 To dgvSale.Rows.Count - 1

dim SaleID As integer = Integer.Parse(Sale_ID.Text)
dim Prd_ID As integer = Integer.Parse(dgvSale.Rows(i).Cells(0).Value)
dim SalePrice As Decimal = Decimal .Parse(dgvSale.Rows(i).Cells(4).Value)
dim Qty As integer = Integer.Parse(dgvSale.Rows(i).Cells(5).Value)
dim TotalAmount As Decimal = Decimal .Parse(dgvSale.Rows(i).Cells(6).Value)

          Dim Cmd As New SqlCommand
          With Cmd
              .Connection = Con
              .CommandType = CommandType.Text
              .CommandText = "Insert Into sale_Details_Tbl ( Sale_ID,Prd_ID,SalePrice,Qty,TotalAmount)values(@Sale_ID,@Prd_ID,@SalePrice,@Qty,@TotalAmount)"
              .Parameters.Clear()
              .Parameters.AddWithValue("@Sale_ID", SqlDbType.Int).Value = SaleID
              .Parameters.AddWithValue("@Prd_ID", SqlDbType.Int).Value = Prd_ID
              .Parameters.AddWithValue("@SalePrice", SqlDbType.Decimal).Value = SalePrice
              .Parameters.AddWithValue("@Qty", SqlDbType.Int).Value = Qty
              .Parameters.AddWithValue("@TotalAmount", SqlDbType.Decimal).Value = TotalAmount
          End With
          If Con.State = 1 Then Con.Close()
          Con.Open()
          Cmd.ExecuteNonQuery()
          Con.Close()

          Cmd = Nothing

      Next
      MsgBox("تم إضافة فاتورة المبيعات بنجاح ", MsgBoxStyle.Information, "حفظ")
  End Sub

دائما متألق كعادتك ، جزاك الله خيرا ، ادامك الله الصحة و العافية
------------------------
منكم أتعلم
------------------------

الرد
تم الشكر بواسطة: Anas Mahmoud



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


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