منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التعديل على الكود للتخلص من مشكلة البطىء حيث عدد السجلات كبير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم الرجاء المساعدة في تعديل الكود حيث انني اعاني من مشكلة البطىء الشديد عند القيام بالتحديث على قيم موجوده في السابق  حيث ان عدد records تجاوز  ال50000   
الكود المراد تعديله  في الاسفل  ولكم جزيل الشكر مسبقا.

        & "'" Dim sql = "select * from invoice_add where invoice_number=N'" & (invoice_number.Text)
        Dim adp As New SqlDataAdapter(sql, sqlconn)
        Dim ds As New DataSet
        adp.Fill(ds)
        Dim dt = ds.Tables(0)
        If dt.Rows.Count > 0 Then

            For a = 0 To dgv.Rows.Count - 1
                adp = New SqlDataAdapter("select * from item where itemcode=N'" & (dgv.Rows(a).Cells(0).Value) & "'", sqlconn)
                ds = New DataSet
                adp.Fill(ds)
                dt = ds.Tables(0)
                Dim dr3 = dt.Rows(0)
                dr3!itemcount = Val(dgv.Rows(a).Cells(14).Value)
                dr3!total_price = dr3!itemcount * dr3!itembuyprice

                'حفظ سجل كمية المادة المباعه
                If dr3!out_count.ToString = "" Then
                    dr3!out_count = 0
                    dr3!out_count = Val(dr3!out_count) + Val(dgv.Rows(a).Cells(16).Value)
                    dr3!Profits = Val(dr3!Profits) + Val(dgv.Rows(a).Cells(8).Value)

                Else

                    dr3!out_count = Val(dr3!out_count) + Val(dgv.Rows(a).Cells(16).Value)
                    dr3!Profits = Val(dr3!Profits) + Val(dgv.Rows(a).Cells(8).Value)

                End If

                dr3!date_sale = invoice_date.Value
                Dim cmd4 As New SqlCommandBuilder(adp)
                adp.Update(dt)
            Next
            adp.Dispose()
            ds.Dispose()
            dt.Dispose()