(29-03-17, 01:31 AM)myalsailamy كتب : [ -> ]ليس لدي البرنامج الخاص بفتح قواعد البيانات SQLLite لذلك لا اعلم هل تم ادراج البيانات بشكل صحيح ام لا لان حجم ملف القاعدة لا يتغير ، على العموم عدلت بعض الاكواد و اصبح اسرع بامكانك مراجعت الاكواد و فهم ما قمت به ، بالاضافة اذا ارد انت تتعامل مع اكثر من مهمه بدون تعليق البرنامج ابحث عن جانب Multi Thread في .Net
فقط قم باستبدال ملف vb هذا FormADIimport.vb بالملف الجديد ،، لان حجم المشروع كبير كمرفق
Dear Muhammad Yahya, You can use this file to able create, modify and display your Sqlite database.
(29-03-17, 01:31 AM)myalsailamy كتب : [ -> ]ليس لدي البرنامج الخاص بفتح قواعد البيانات SQLLite لذلك لا اعلم هل تم ادراج البيانات بشكل صحيح ام لا لان حجم ملف القاعدة لا يتغير ، على العموم عدلت بعض الاكواد و اصبح اسرع بامكانك مراجعت الاكواد و فهم ما قمت به ، بالاضافة اذا ارد انت تتعامل مع اكثر من مهمه بدون تعليق البرنامج ابحث عن جانب Multi Thread في .Net
فقط قم باستبدال ملف vb هذا FormADIimport.vb بالملف الجديد ،، لان حجم المشروع كبير كمرفق
ما شاءالله تبارك الله
ما شاءالله تبارك الله
ما شاءالله تبارك الله
سابقا كان ال 1000 في خمس دقائق الى 6 دقائق
الان بفضل الله ومجهودك ولمساتك
اصبح ال 7000 في دقيقه ونص الى دقيقتين
ما شاءالله تبارك الله
ما شاءالله تبارك الله
ما شاءالله تبارك الله
ما اعرف كيف اشكرك
جزاك الله الف الف الف خير وكثر من امثالك وفي ميزان اعمالك
ما نستغنى عنك
شكرا من جديد
العفو اخي الفاضل
و لكن باقي يعتبر بطيئ نسبياً بامكانك مراجعة المشاركة الاولى لي خصوصاً الملاحظه الاولى وهي عدم ربط الواجهه بداخل loop و الاستفاده من مبدأ multi thread أو backGroundWorker لتسريع العمليه اكثر و منع تهنيق الشاشه .
الحمد لله
أسعدك الله أستاذنا
myalsailamy كما أسعدت صاحب الموضوع
وجزاك الله خيرا أستاذنا
حريف برمجة على الأداة المفيدة لقاعدة بيانات SqLite فسوف تفيدني كثيراً
(29-03-17, 03:09 PM)myalsailamy كتب : [ -> ]العفو اخي الفاضل
و لكن باقي يعتبر بطيئ نسبياً بامكانك مراجعة المشاركة الاولى لي خصوصاً الملاحظه الاولى وهي عدم ربط الواجهه بداخل loop و الاستفاده من مبدأ multi thread أو backGroundWorker لتسريع العمليه اكثر و منع تهنيق الشاشه .
جعلتني اطمع بالمزيد
كيف ممكن نستفيد من multi thread أو backGroundWorker
وهل بيفيدني في عملية update table
لان عندي عملية update كمان بطيئة واعلم المشكله في كتابة الكود
(29-03-17, 04:41 PM)مساعدة كتب : [ -> ]الحمد لله
أسعدك الله أستاذنا myalsailamy كما أسعدت صاحب الموضوع
وجزاك الله خيرا أستاذنا حريف برمجة على الأداة المفيدة لقاعدة بيانات SqLite فسوف تفيدني كثيراً
شكرا لك ايضا استاذ مساعدة دائما خدوم وتحب تساعد بارك الله فيك
السلام عليكم
اخواني
ممكن مساعدتي في الكود المرفق
هو عباره عن
اقوم بارسال ملف الى موقعي وبعد الارسال اقوم بتحديث قاعدة البيانات في خانت
clublog_qsl_sent
من N الى Y
للجميع من قمت بارساله
[
attachment=13702]
الكود شغال يرسل الملف بس وقت التحديث يكون بطئ
انا حاولت احط كود اخي [b]myalsailamy في البرنامج بس ما ضبط اكيد محتاج لمسات بسيطه [/b]
جزاكم الله الف خير
واسمحولي اذا كان الملف كبير شويه لا اعرف لماذا اعتقد عندما انزل package System.Data.SQLite.Core
http://bkqslmanager.com/WindowsApplication6.rar
(30-03-17, 03:47 AM)dubai.eig كتب : [ -> ]السلام عليكم
اخواني
ممكن مساعدتي في الكود المرفق
هو عباره عن
اقوم بارسال ملف الى موقعي وبعد الارسال اقوم بتحديث قاعدة البيانات في خانت
clublog_qsl_sent
من N الى Y
للجميع من قمت بارساله
الكود شغال يرسل الملف بس وقت التحديث يكون بطئ
انا حاولت احط كود اخي [b]myalsailamy في البرنامج بس ما ضبط اكيد محتاج لمسات بسيطه [/b]
جزاكم الله الف خير
واسمحولي اذا كان الملف كبير شويه لا اعرف لماذا اعتقد عندما انزل package System.Data.SQLite.Core
http://bkqslmanager.com/WindowsApplication6.rar
السلام عليكم
جربت اني اتلاعب في الكود واشتغل
ويقوم بالتحديث
بس عندما يحدث عدد كبير من يوصل الى رقم
10258
يعلق ويعطيني مسج
كود :
10258 | Start Add :30:00
A first chance exception of type 'System.NullReferenceException' occurred in BKLog.exe
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
وهذا الكود
كود :
ProgressBar1.Maximum = Me.DataGridView1.Rows.Count - 1
cn.Open()
Dim index As Integer = 0
Using transaction = cn.BeginTransaction()
'cmdCheckCount.Transaction = transaction
cmdInsert.Transaction = transaction
For i = 0 To DataGridView1.RowCount - 1
ProgressBar1.Value = index
Label4.Text = InsertedCount
'Label5.Text = ErrorCount
Call Me.addData(index)
index += 1
Next
transaction.Commit()
End Using
انا قمت بتغيير
كود :
For Each txtLine As String In ms
الى
كود :
For i = 0 To DataGridView1.RowCount - 1
(30-03-17, 06:21 PM)dubai.eig كتب : [ -> ] (30-03-17, 03:47 AM)dubai.eig كتب : [ -> ]السلام عليكم
اخواني
ممكن مساعدتي في الكود المرفق
هو عباره عن
اقوم بارسال ملف الى موقعي وبعد الارسال اقوم بتحديث قاعدة البيانات في خانت
clublog_qsl_sent
من N الى Y
للجميع من قمت بارساله
الكود شغال يرسل الملف بس وقت التحديث يكون بطئ
انا حاولت احط كود اخي [b]myalsailamy في البرنامج بس ما ضبط اكيد محتاج لمسات بسيطه [/b]
جزاكم الله الف خير
واسمحولي اذا كان الملف كبير شويه لا اعرف لماذا اعتقد عندما انزل package System.Data.SQLite.Core
http://bkqslmanager.com/WindowsApplication6.rar
السلام عليكم
جربت اني اتلاعب في الكود واشتغل
ويقوم بالتحديث
بس عندما يحدث عدد كبير من يوصل الى رقم
10258
يعلق ويعطيني مسج
كود :
10258 | Start Add :30:00
A first chance exception of type 'System.NullReferenceException' occurred in BKLog.exe
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
وهذا الكود
كود :
ProgressBar1.Maximum = Me.DataGridView1.Rows.Count - 1
cn.Open()
Dim index As Integer = 0
Using transaction = cn.BeginTransaction()
'cmdCheckCount.Transaction = transaction
cmdInsert.Transaction = transaction
For i = 0 To DataGridView1.RowCount - 1
ProgressBar1.Value = index
Label4.Text = InsertedCount
'Label5.Text = ErrorCount
Call Me.addData(index)
index += 1
Next
transaction.Commit()
End Using
انا قمت بتغيير
كود :
For Each txtLine As String In ms
الى
كود :
For i = 0 To DataGridView1.RowCount - 1
اتمنى احصل حل جزاكم الله خير
غيرة في الكود
ومن امس وانا اعمل بحث عن المشكله
كود :
ProgressBar1.Maximum = Me.DataGridView1.Rows.Count - 1
con.Open()
Dim i As Integer = 0
Using transaction = con.BeginTransaction()
'cmdCheckCount.Transaction = transaction
cmdInsert.Transaction = transaction
For Each dr As DataGridViewRow In DataGridView1.Rows
ProgressBar1.Value = i
Label6.Text = InsertedCount
'Label5.Text = ErrorCount
Call Me.addData(i)
i += 1
Next
transaction.Commit()
End Using
كود :
Private Sub addData(ByVal i As Integer)
Diagnostics.Debug.Print(i.ToString & " | " & "Start Add :" & Now.ToString("mm:ssss"))
cmdInsert.Parameters("@clublog_qsl_sent").Value = "Y"
cmdInsert.Parameters("@CALLop").Value = DataGridView1.Rows(i).Cells(0).Value
cmdInsert.Parameters("@DateNumber").Value = DataGridView1.Rows(i).Cells(4).Value
cmdInsert.Parameters("@time_on").Value = DataGridView1.Rows(i).Cells(5).Value
cmdInsert.ExecuteNonQuery()
Application.DoEvents()
InsertedCount += 1
End Sub
ولازالت المشكله
اذا العدد كان 100 الى 800 سجل يقوم بتحديثه بنجاح
بس اذا كان عدد السجل التحديثي فوق
10222 وما فوق يعطيني مسج
كود :
10457 | Start Add :59:57
10458 | Start Add :59:57
10459 | Start Add :59:57
10460 | Start Add :59:57
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
كود :
10230 | Start Add :54:02
10231 | Start Add :54:02
10232 | Start Add :54:02
10233 | Start Add :54:02
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
SQLite error (5): database is locked
مشكله غريبه حتى في البحث في قوقيل ما حصلت حل مناسب
كل محاولاتي كانت أبطأ مما توصلتم إليه،
يبدو أن السبب في محرك بيانات SQLite قد تكون هي أساساً ليست سريعة، ولهذا هي ليست مخصصة للإستخدام الضخم من البيانات.