تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] خطا في كود عند الحفظ
#1
كود :
Private Sub BtnSave_Click(sender As System.Object, e As System.EventArgs) Handles BtnSave.Click, BtnClose.Click
      Total.Text = Val(Total.Text) + Val(DiscountTotal.Text)
      Insert_Buy_Tbl(Buy_ID.Text, Buy_Date.Value, Imp_Inv_No.Text, Inv_Type.Text, SalesMan.Text, Imp_ID.Text, Item_Count.Text, Total.Text, TaxValue.Text, TaxTotal.Text, DiscountValue.Text, DiscountTotal.Text, FinalTotal.Text, Paid.Text, UnPaid.Text)
      Insert_Buy_Details_Tbl()
      InsertStore()
      Update_Imp_Balance()
      Insert_Imp_Move(Buy_Date.Value, Imp_ID.Text, "فاتورة شراء", FinalTotal.Text, Paid.Text, UnPaid.Text, SalesMan.Text)
  End Sub
كود :
Public Sub Insert_Buy_Tbl(ByVal Buy_ID As Int32, ByVal Buy_Date As Date, ByVal Imp_Inv_No As String, ByVal Inv_Type As String, ByVal SalesMan As String, ByVal Imp_ID As Int32, ByVal Item_Count As Int32, ByVal Total As Double, ByVal Tax_Per As Double, ByVal TaxTotal As Double, ByVal Discount_Per As Double, ByVal DiscountTotal As Double, ByVal FinalTotal As Double, ByVal Paid As Double, ByVal UnPaid As Double)
      Dim Cmd As New SqlCommand
      With Cmd
          .Connection = Con
          .CommandType = CommandType.Text
          .CommandText = "Insert Into Buy_Tbl ( Buy_ID,Buy_Date,Imp_Inv_No,Inv_Type,SalesMan,Imp_ID,Item_Count,Total,Tax_Per,TaxTotal,Discount_Per,DiscountTotal,FinalTotal,Paid,UnPaid)values(@Buy_ID,@Buy_Date,@Imp_Inv_No,@Inv_Type,@SalesMan,@Imp_ID,@Item_Count,@Total,@Tax_Per,@TaxTotal,@Discount_Per,@DiscountTotal,@FinalTotal,@Paid,@UnPaid)"
          .Parameters.Clear()
          .Parameters.AddWithValue("@Buy_ID", SqlDbType.Int).Value = Buy_ID
          .Parameters.AddWithValue("@Buy_Date", SqlDbType.Date).Value = Buy_Date
          .Parameters.AddWithValue("@Imp_Inv_No", SqlDbType.VarChar).Value = Imp_Inv_No
          .Parameters.AddWithValue("@Inv_Type", SqlDbType.VarChar).Value = Inv_Type
          .Parameters.AddWithValue("@SalesMan", SqlDbType.VarChar).Value = SalesMan
          .Parameters.AddWithValue("@Imp_ID", SqlDbType.Int).Value = Imp_ID
          .Parameters.AddWithValue("@Item_Count", SqlDbType.Int).Value = Item_Count
          .Parameters.AddWithValue("@Total", SqlDbType.Decimal).Value = Total
          .Parameters.AddWithValue("@Tax_Per", SqlDbType.Decimal).Value = Tax_Per
          .Parameters.AddWithValue("@TaxTotal", SqlDbType.Decimal).Value = TaxTotal
          .Parameters.AddWithValue("@Discount_Per", SqlDbType.Decimal).Value = Discount_Per
          .Parameters.AddWithValue("@DiscountTotal", SqlDbType.Decimal).Value = DiscountTotal
          .Parameters.AddWithValue("@FinalTotal", SqlDbType.Decimal).Value = FinalTotal
          .Parameters.AddWithValue("@Paid", SqlDbType.Decimal).Value = Paid
          .Parameters.AddWithValue("@UnPaid", SqlDbType.Decimal).Value = UnPaid
      End With
      If Con.State = 1 Then Con.Close()
      Con.Open()
      Cmd.ExecuteNonQuery()
      Con.Close()
      Cmd = Nothing
  End Sub


صورة الخطا


الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته
اخي الكريم
 في الكود الاول والذي ينادي الصب انت تأخذ القيم من مربعات النصوص بدون ان تحول القيمة
كل قيمة رقمية من نوع Double حولها وكذلك من نوع integer  
كود :
       Insert_Buy_Tbl(Convert.ToInt32(Buy_ID.Text), Buy_Date.Value, Imp_Inv_No.Text, Inv_Type.Text, SalesMan.Text, ToInt32(Imp_ID.Text), Item_Count.Text, Convert.ToDouble(Total.Text), Convert.ToDouble(TaxValue.Text), Convert.ToDouble(TaxTotal.Text), DiscountValue.Text, Convert.ToDouble(DiscountTotal.Text, FinalTotal.Text), Convert.ToDouble(Paid.Text), Convert.ToDouble(UnPaid.Text))
هذا في حال الاسماء كلها صحيحة

اما الكود الثاني عند العمل مع الباراميترات لديك طريقتين 
الاولى WithValue هكذا وليس كما كتبت انت بدمج الطريقتين معا
كود :
   Public Sub Insert_Buy_Tbl(ByVal Buy_ID As Int32, ByVal Buy_Date As Date, ByVal Imp_Inv_No As String, ByVal Inv_Type As String, ByVal SalesMan As String, ByVal Imp_ID As Int32, ByVal Item_Count As Int32, ByVal Total As Double, ByVal Tax_Per As Double, ByVal TaxTotal As Double, ByVal Discount_Per As Double, ByVal DiscountTotal As Double, ByVal FinalTotal As Double, ByVal Paid As Double, ByVal UnPaid As Double)
       Dim Cmd As New SqlCommand
       With Cmd
           .Connection = Con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into Buy_Tbl ( Buy_ID,Buy_Date,Imp_Inv_No,Inv_Type,SalesMan,Imp_ID,Item_Count,Total,Tax_Per,TaxTotal,Discount_Per,DiscountTotal,FinalTotal,Paid,UnPaid)values(@Buy_ID,@Buy_Date,@Imp_Inv_No,@Inv_Type,@SalesMan,@Imp_ID,@Item_Count,@Total,@Tax_Per,@TaxTotal,@Discount_Per,@DiscountTotal,@FinalTotal,@Paid,@UnPaid)"
           .Parameters.Clear()
           .Parameters.AddWithValue("@Buy_ID", Buy_ID)
           .Parameters.AddWithValue("@Buy_Date", Buy_Date)
           .Parameters.AddWithValue("@Imp_Inv_No", Imp_Inv_No)
           .Parameters.AddWithValue("@Inv_Type", Inv_Type)
           .Parameters.AddWithValue("@SalesMan", SalesMan)
           .Parameters.AddWithValue("@Imp_ID", Imp_ID)
           .Parameters.AddWithValue("@Item_Count", Item_Count)
           .Parameters.AddWithValue("@Total", Total)
           .Parameters.AddWithValue("@Tax_Per", Tax_Per)
           .Parameters.AddWithValue("@TaxTotal", TaxTotal)
           .Parameters.AddWithValue("@Discount_Per", Discount_Per)
           .Parameters.AddWithValue("@DiscountTotal", DiscountTotal)
           .Parameters.AddWithValue("@FinalTotal", FinalTotal)
           .Parameters.AddWithValue("@Paid", Paid)
           .Parameters.AddWithValue("@UnPaid", UnPaid)
       End With
        If Con.State = 1 Then Con.Close()
       Con.Open()
       Cmd.ExecuteNonQuery()
       Con.Close()
       Cmd = Nothing
   End Sub
او الطريقة الاخرى هكذا
كود :
Public Sub Insert_Buy_Tbl(ByVal Buy_ID As Int32, ByVal Buy_Date As Date, ByVal Imp_Inv_No As String, ByVal Inv_Type As String, ByVal SalesMan As String, ByVal Imp_ID As Int32, ByVal Item_Count As Int32, ByVal Total As Double, ByVal Tax_Per As Double, ByVal TaxTotal As Double, ByVal Discount_Per As Double, ByVal DiscountTotal As Double, ByVal FinalTotal As Double, ByVal Paid As Double, ByVal UnPaid As Double)
       Dim Cmd As New SqlCommand
       With Cmd
           .Connection = Con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into Buy_Tbl ( Buy_ID,Buy_Date,Imp_Inv_No,Inv_Type,SalesMan,Imp_ID,Item_Count,Total,Tax_Per,TaxTotal,Discount_Per,DiscountTotal,FinalTotal,Paid,UnPaid)values(@Buy_ID,@Buy_Date,@Imp_Inv_No,@Inv_Type,@SalesMan,@Imp_ID,@Item_Count,@Total,@Tax_Per,@TaxTotal,@Discount_Per,@DiscountTotal,@FinalTotal,@Paid,@UnPaid)"
           .Parameters.Clear()
           .Parameters.Add(New SqlParameter("@Buy_ID", SqlDbType.Int)).Value = Buy_ID
           .Parameters.Add(New SqlParameter("@Buy_Date", SqlDbType.Date)).Value = Buy_Date
           .Parameters.Add(New SqlParameter("@Imp_Inv_No", SqlDbType.VarChar)).Value = Imp_Inv_No
           .Parameters.Add(New SqlParameter("@Inv_Type", SqlDbType.VarChar)).Value = Inv_Type
           .Parameters.Add(New SqlParameter("@SalesMan", SqlDbType.VarChar)).Value = SalesMan
           .Parameters.Add(New SqlParameter("@Imp_ID", SqlDbType.Int)).Value = Imp_ID
           .Parameters.Add(New SqlParameter("@Item_Count", SqlDbType.Int)).Value = Item_Count
           .Parameters.Add(New SqlParameter("@Total", SqlDbType.Decimal)).Value = Total
           .Parameters.Add(New SqlParameter("@Tax_Per", SqlDbType.Decimal)).Value = Tax_Per
           .Parameters.Add(New SqlParameter("@TaxTotal", SqlDbType.Decimal)).Value = TaxTotal
           .Parameters.Add(New SqlParameter("@Discount_Per", SqlDbType.Decimal)).Value = Discount_Per
           .Parameters.Add(New SqlParameter("@DiscountTotal", SqlDbType.Decimal)).Value = DiscountTotal
           .Parameters.Add(New SqlParameter("@FinalTotal", SqlDbType.Decimal)).Value = FinalTotal
           .Parameters.Add(New SqlParameter("@Paid", SqlDbType.Decimal)).Value = Paid
           .Parameters.Add(New SqlParameter("@UnPaid", SqlDbType.Decimal)).Value = UnPaid
       End With

       If Con.State = 1 Then Con.Close()
       Con.Open()
       Cmd.ExecuteNonQuery()
       Con.Close()
       Cmd = Nothing
   End Sub
End Class
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: asemshahen5 , حيدر الشرهاني
#3
شكرا اخي الكريم الكود الاول طبقت مثل ما تفضلت ونحلت المشكلة
لكن الان ظهر خطا ثاني
صورة الخطأ

كود :
 Public Sub Insert_Imp_Move(ByVal Move_Date As Date, ByVal Imp_ID As Int32, ByVal Move_Type As String, ByVal Move_Total As Double, ByVal Paid As Double, ByVal UnPaid As Double, ByVal SalesMan As String)
       Dim Cmd As New SqlCommand
       With Cmd
           .Connection = Con
           .CommandType = CommandType.Text
           .CommandText = "Insert Into Imp_Move ( Move_Date,Imp_ID,Move_Type,Move_Total,Paid,UnPaid,SalesMan)values(@Move_Date,@Imp_ID,@Move_Type,@Move_Total,@Paid,@UnPaid,@SalesMan)"
           .Parameters.Clear()

           .Parameters.AddWithValue("@Move_Date", SqlDbType.Date).Value = Move_Date
           .Parameters.AddWithValue("@Imp_ID", SqlDbType.Int).Value = Imp_ID
           .Parameters.AddWithValue("@Move_Type", SqlDbType.VarChar).Value = Move_Type
           .Parameters.AddWithValue("@Move_Total", SqlDbType.Decimal).Value = Move_Total
           .Parameters.AddWithValue("@Paid", SqlDbType.Decimal).Value = Paid
           .Parameters.AddWithValue("@UnPaid", SqlDbType.Decimal).Value = UnPaid
           .Parameters.AddWithValue("@SalesMan", SqlDbType.VarChar).Value = SalesMan
       End With
       If Con.State = 1 Then Con.Close()
       Con.Open()
       Cmd.ExecuteNonQuery()
       Con.Close()
       MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
       Cmd = Nothing
   End Sub
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغيير على كود الحفظ محمد خيري 6 265 28-03-24, 04:20 PM
آخر رد: محمد خيري
  [VB.NET] مشكلة عند الحفظ Abdellatif 6 410 31-01-24, 02:47 AM
آخر رد: Abdellah
  [كود] الحفظ Abdellatif 13 539 03-01-24, 02:28 AM
آخر رد: Abdellah
  [VB.NET] امر DataGridView1.Rows.Add يسبب مشكله في الحفظ oody 1 277 26-10-23, 08:27 PM
آخر رد: aljzazy
  ازرار الحفظ و ازرار التعليق كيف نبعدهما عن بعض سعود 1 462 27-04-23, 04:17 PM
آخر رد: Taha Okla
  التعديل على كود الحفظ مصمم هاوي 4 730 06-03-23, 12:12 AM
آخر رد: مصمم هاوي
  زر الحفظ um_noor20 3 984 19-06-22, 08:24 AM
آخر رد: سعود
  ممكن حل مشكله عدم الحفظ فراس محي 3 1,221 18-06-22, 09:39 AM
آخر رد: mohamedassim
  [VB.NET] زر الحفظ um_noor20 1 1,099 23-05-22, 10:33 AM
آخر رد: mrfenix93
  مساء الخير الحفظ اليوم السابع 1 779 09-05-22, 02:34 AM
آخر رد: ابو انس

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


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