منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
من فضلكم نوع الخطأ في الكود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : من فضلكم نوع الخطأ في الكود (/showthread.php?tid=36535)



من فضلكم نوع الخطأ في الكود - sofiane-phy - 26-09-20

عند الحفظ ياتي هذا الخطأ ، مساعدة من فضلكم

كود :
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






RE: من فضلكم نوع الخطأ في الكود - Anas Mahmoud - 26-09-20

استخدم Integer.Parse

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



RE: من فضلكم نوع الخطأ في الكود - sofiane-phy - 26-09-20

(26-09-20, 06:42 PM)Anas Mahmoud كتب : استخدم Integer.Parse

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

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


RE: من فضلكم نوع الخطأ في الكود - Anas Mahmoud - 26-09-20

اقصد في جميع البرامترات ، لايصح ان تخبره بان قيمة البرامتر هي 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



RE: من فضلكم نوع الخطأ في الكود - sofiane-phy - 26-09-20

(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

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