تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة فى حفظ اكتر من صنفين عند حفظ الفاتورة
#18
السلام عليكم و رحمة الله و بركاته
الاخ الكريم ,
المشكلة من طريقتك في الحفظ و الحذف معاً....؟؟
مثالك هذا غير عملي .
بالنسبة لطريقة الحفظ استبدل الكود لديك بهذا الكود

PHP كود :
       Dim strInsert As String "Insert into tbl(code,name,Quant,Price,total)values(@code,@name,@Quant,@Price,@total)"

 
       If con.State ConnectionState.Open Then con.Close()
 
       cmd = New OleDbCommand(strInsertcon)
 
       con.Open()
 
       For Each Dgrow As DataGridViewRow In dgv.Rows
            cmd
.Parameters.Clear()
 
           If Not Dgrow.IsNewRow Then
                Dim Row 
As DataRow DirectCast(Dgrow.DataBoundItemDataRowView).Row
                If Row IsNot Nothing Then
                    cmd
.Parameters.AddWithValue("@code"Convert.ToInt32(Row("code")))
 
                   cmd.Parameters.AddWithValue("@name"Row("name"))
 
                   cmd.Parameters.AddWithValue("@Quant"Convert.ToInt32(Row("Quant")))
 
                   cmd.Parameters.AddWithValue("@Price"Convert.ToDecimal(Row("Price")))
 
                   cmd.Parameters.AddWithValue("@total"Convert.ToDecimal(Row("total")))

 
                   cmd.ExecuteNonQuery()

 
               End If
 
           End If
 
       Next
        con
.Close() 
بالنسبة لباقي الاسئلة , وفق طريقتك التي تعمل عليها ستجد صعوبة كبيرة في تنفيذ المطلوب..!
بدلاً من الاستعلام عن الكود داخل DataGridView استعلم عنه داخل مربع نص و في حال التطابق يتم اضافة السطر الى القريد , و تكون عندها لديك حالتين اما ان الصنف غير موجود فيضاف , او موجود فتعدل الكمية داخل القريد

الغريب انك تملئ القريد بداية اقلاع النموذج من نفس جدول الادخال و هذا اسلوب خاطئ.
المفروض ان تكون القريد فارغة لعمليات الادخال.
بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مشكلة فى حفظ اكتر من صنفين عند حفظ الفاتورة - بواسطة ابو ليلى - 01-05-18, 03:45 AM


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


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