السلام عليكم : لدي مشكلة عند الضغط على زر الحفظ وتتلخص المشكلة ان البرنامج يتحاج حوالي 40 ثانية لحفظ البيانات حيث ان الجدول يحتوي على 25 الف سجل عندما كانت السجلات قليلة كانت الامور تمام ما الحل ؟؟؟؟؟؟
كود حفظ السجل :
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
Else
Dim dr = dt.NewRow
dr!invoice_number = invoice_number.Text
dr!store = store.Text
dr!invoice_date = invoice_date.Value
وعليكم السلام ورحمة الله
من الطبيعي ذلك وايضاً الوقت هيتكاثر اكثر فاكثر مع مرور الوقت
وهو انك تقوم بجلب جميع ما بداخل الجدول من خلال البحث عن طريق نص
بخصوص هنا
invoice_number=N
تاكد بان invoice_number من نوع رقم وليس نص لان بوجود N هذا يشير بان العمود نصي وليس رقمي
ومن الممكن انك قمت بعمل نصي لكون الارقام قد تبداء بـ 0 او تتجاوز الـ 9 ارقام فهناك حلول اخري لذلك
(07-09-20, 09:14 PM)momani33 كتب : السلام عليكم : لدي مشكلة عند الضغط على زر الحفظ وتتلخص المشكلة ان البرنامج يتحاج حوالي 40 ثانية لحفظ البيانات حيث ان الجدول يحتوي على 25 الف سجل عندما كانت السجلات قليلة كانت الامور تمام ما الحل ؟؟؟؟؟؟
كود حفظ السجل :
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
Else
Dim dr = dt.NewRow
dr!invoice_number = invoice_number.Text
dr!store = store.Text
dr!invoice_date = invoice_date.Value
شكرا للجميع تمت العمليه بنجاح ولكن عند محاولة عمل لووب في الداتا جريد فيو يظهر خطا عند تنفيذ الكود التالي :
Dim sql2 = "insert into invoice_list(invoice_number,store,Accounts_code,Accounts_name,item_code,item_name,item_count,item_price,item_descound,item_total,item_date,item_earn,item_catorgey,item_company,itembouns,tax_add,item_tax_add,new_count,item_group,item_balace)values(@invoice_number,@store,@Accounts_code,@Accounts_name,@item_code,@item_name,@item_count,@item_price,@item_descound,@item_total,@item_date,@item_earn,@item_catorgey,@item_company,@itembouns,@tax_add,@item_tax_add,@new_count,@item_group,@item_balace)"
08-09-20, 03:44 PM (آخر تعديل لهذه المشاركة : 08-09-20, 03:51 PM {2} بواسطة Hasaneen.)
(08-09-20, 03:35 PM)momani33 كتب : شكرا للجميع تمت العمليه بنجاح ولكن عند محاولة عمل لووب في الداتا جريد فيو يظهر خطا عند تنفيذ الكود التالي :
Dim sql2 = "insert into invoice_list(invoice_number,store,Accounts_code,Accounts_name,item_code,item_name,item_count,item_price,item_descound,item_total,item_date,item_earn,item_catorgey,item_company,itembouns,tax_add,item_tax_add,new_count,item_group,item_balace)values(@invoice_number,@store,@Accounts_code,@Accounts_name,@item_code,@item_name,@item_count,@item_price,@item_descound,@item_total,@item_date,@item_earn,@item_catorgey,@item_company,@itembouns,@tax_add,@item_tax_add,@new_count,@item_group,@item_balace)"
If sqlconn.State <> ConnectionState.Open Then sqlconn.Open()
cmd2.ExecuteNonQuery()
sqlconn.Close()
Next
وضح انت بتعمل لووب ليه لان خطا انك تكرر رقم الفاتوره invoice_number
مش انت عاوز تحفظ فاتوره وحده بس؟؟
عموما هذا التعديل
PHP كود :
Dim sql2 = "insert into invoice_list(invoice_number,store,Accounts_code,Accounts_name,item_code,item_name,item_count,item_price,item_descound,item_total,item_date,item_earn,item_catorgey,item_company,itembouns,tax_add,item_tax_add,new_count,item_group,item_balace)values(@invoice_number,@store,@Accounts_code,@Accounts_name,@item_code,@item_name,@item_count,@item_price,@item_descound,@item_total,@item_date,@item_earn,@item_catorgey,@item_company,@itembouns,@tax_add,@item_tax_add,@new_count,@item_group,@item_balace)" Dim cmd2 As New SqlCommand(sql2, sqlconn)
If sqlconn.State <> ConnectionState.Open Then sqlconn.Open()