تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] عملية ال INSERT بطيئة جدا
#3
(28-03-17, 10:23 AM)myalsailamy كتب : السلام عليكم  ،،

بالنسبه للكود و عند قرائتي له  ، أول خطأ يسبب ببطأ الاكواد  التعامل المباشر مع الواجهه  بداخل Loop  و  ما اقصده  هو هذه الجزئيه

  Label5.Text = Val(Label5.Text) + 1

الاحرى أن تضعه  في متغير  رقمي  و في نهاية الكود يعرض الناتج  في التكس بوك ، و لكن اثناء  Loop  لا افضل ذلك و بامكانك  تجربة ذلك  و حساب الوقت  الذي سيتغرقه التعامل مع الواجهه مباشره بداخل Loop  (تجربه شخصيه) خصوصاً اذا كانت  مواصفات الجهاز  قديمه

ثانياً  لماذا تكرار تعريف جملة الاستعلام بهذا الشكل

     cmd.Parameters.AddWithValue("@LON", colLON.Trim())

غير منطقي تماماً  ،،  يمكنك ببساطه كتابته كالتالي  :  


       Dim cmd As New SqlCommand(String.Format("INSERT INTO DB{0} (CALLop,qso_date,timek,bands,modes,Lfullname,station_callsign,dxcc,cqz,ituz,rst_sent,rst_rcvd,lotw_qsl_sent,lotw_qsl_rcvd,eqsl_qsl_sent,eqsl_qsl_rcvd,qsl_sent,qsl_rcvd,qsl_sent_date,qsl_print,country,qth,LAT,LON,GRIDSQUARE,Lqslmgr,PFX,freq,DateNumber,iota,bk_qsl_sent,time_on,state,operato,nameop,Continent,hamqth_qsl_sent,clublog_qsl_sent) Values (@CALLop,@qso_date,@timek,@bands,@modes,@Lfullname,@station_callsign,@dxcc,@cqz,@ituz,@rst_sent,@rst_rcvd,@lotw_qsl_sent,@lotw_qsl_rcvd,@eqsl_qsl_sent,@eqsl_qsl_rcvd,@qsl_sent,@qsl_rcvd,@qsl_sent_date,@qsl_print,@country,@qth,@LAT,@LON,@GRIDSQUARE,@Lqslmgr,@PFX,@freq,@DateNumber,@iota,@bk_qsl_sent,@time_on,@state,@operato,@nameop,@Continent,@hamqth_qsl_sent,@clublog_qsl_sent)", strcallbk), con)
       cmd.Parameters.Add("@CALLop")
       cmd.Parameters.Add("@qso_date")
       cmd.Parameters.Add("@timek")
       cmd.Parameters.Add("@bands")
       cmd.Parameters.Add("@modes")


       ' Start Loop
       cmd.Parameters("@CALLop").Value = colcall.Trim()
       cmd.Parameters("@qso_date").Value = bkd.Trim()
       cmd.Parameters("@timek").Value = timek.Trim()
       cmd.Parameters("@bands").Value = colbands.Trim()
       cmd.Parameters("@modes").Value = colmodes.Trim()
       cmd.ExecuteNonQuery()
       ' End Loop

بحيث تعرف الاستعلام مره فقط في بداية الكود  و يبقى فقط  ترسل القيم و تسوي Insert  

ثالثاً ربما انت قمت بوضع  try  ويحدث خطأ بمعالجة البيانات  و في كل مره يحدث خطأ يستنزف وقت التنفيذ  ، لذلك وجب عليك الغاء اي تصيد للاخطأ و محاول تصحيح اي بيانات تسبب مشكلة  .

رابعاً : البيانات التي تقوم بجلبها كنص ،  يعني  40000 سجل ليست بالامر الهين خصوصا اذا كان مواصفات جهازك قديمه  قد تسبب نوعاً من  كرش  عند جلبها دفعه واحده في الذاكرة

بالنسبه للكود الذي قمت  بارساله  وهي  ميزه  الغاء اجراءات التي حدثت داخل transaction   واحد  ، بمعنى لو حصل خطأ في اضافة البيانات  و هذه البيانات تعتمد  عليها بيانات  قبلها  فانه بامكانك هنا من خلال هذه الخاصيه  التراجع  عن الكل  الاضافة السابقه  ، قمت بشرحه بشكل مبسط في هذا الموضوع سابقاً

http://vb4arb.com/vb/showthread.php?tid=17881

و لكنه خلال كلماته  يذكر بان البيانات  تبقى معلقه بحيث لا تضاف الى قاعدة البيانات  مباشره  لذلك تعتبر اسرع بحيث انه يقوم باضافة جميع البيانات  ثم يعمل Commit و هي تأكيد بالتنفيذ  و الاعتماد بقاعدة البيانات  ، اعتقد انها ربما تكون منطقيه  ، بامكانك تجربته  ، وهذا هو الكود بعد تحويله  

' Creates new sqlite database if it is not found
Using conn = New SQLiteConnection("Data Source=C:\Projects\sqlite\test.sqlite")
' Be sure you already created the Person Table!
conn.Open()
Using cmd = New SQLiteCommand(conn)
Using transaction = conn.BeginTransaction()
' 100,000 inserts
For i As var = 0 To 999999
cmd.CommandText = "INSERT INTO Person (FirstName, LastName) VALUES ('John', 'Doe');"
cmd.ExecuteNonQuery()
Next
transaction.Commit()
End Using
End Using
conn.Close()
End Using


أيضا اود ان تختصر  قليلاً بالكود فلماذا تستعلم  اذا كان موجود  أو لا  ثم ترسل استعلام جديد يضيف البيانات  ، فانا لا اعلم  ان  كانت  SQLite تدعم  او لا ، لكن لا مانع ان تقرأ هذا الموضوع  

http://vb4arb.com/vb/showthread.php?tid=14259



ما شاءالله عليك

شكرا على الرد

حاولت اجرب المثال اللي كتبته 

كود :
   Using conn As New SQLiteConnection("Data Source= " & System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\BKHAMLOG\DB" & strcallbk & ".s3db")
           Using cmdi As SQLiteCommand = conn.CreateCommand()

               cmdi.CommandText = "SELECT COUNT(*) FROM DB" & strcallbk & " WHERE CALLop = @CALLop  and   DateNumber = @DateNumber  and  time_on = @time_on"

               cmdi.Parameters.AddWithValue("@CALLop", colcall.Trim())
               cmdi.Parameters.AddWithValue("@DateNumber", qso_date.Trim())
               cmdi.Parameters.AddWithValue("@time_on", coltimex.Trim())
               conn.Open()
               Dim exists As String = cmdi.ExecuteScalar().ToString()

               If exists = "1" Then


               Else
                   Dim cmd As New SQLiteCommand(String.Format("INSERT INTO DB{0} (CALLop,qso_date,timek,bands,modes,Lfullname,station_callsign,dxcc,cqz,ituz,rst_sent,rst_rcvd,lotw_qsl_sent,lotw_qsl_rcvd,eqsl_qsl_sent,eqsl_qsl_rcvd,qsl_sent,qsl_rcvd,qsl_sent_date,qsl_print,country,qth,LAT,LON,GRIDSQUARE,Lqslmgr,PFX,freq,DateNumber,iota,bk_qsl_sent,time_on,state,operato,nameop,Continent,hamqth_qsl_sent,clublog_qsl_sent) Values (@CALLop,@qso_date,@timek,@bands,@modes,@Lfullname,@station_callsign,@dxcc,@cqz,@ituz,@rst_sent,@rst_rcvd,@lotw_qsl_sent,@lotw_qsl_rcvd,@eqsl_qsl_sent,@eqsl_qsl_rcvd,@qsl_sent,@qsl_rcvd,@qsl_sent_date,@qsl_print,@country,@qth,@LAT,@LON,@GRIDSQUARE,@Lqslmgr,@PFX,@freq,@DateNumber,@iota,@bk_qsl_sent,@time_on,@state,@operato,@nameop,@Continent,@hamqth_qsl_sent,@clublog_qsl_sent)", strcallbk), conn)

                   cmd.Parameters.Add("@CALLop")
                   cmd.Parameters.Add("@qso_date")
                   cmd.Parameters.Add("@timek")
                   cmd.Parameters.Add("@bands")
                   cmd.Parameters.Add("@modes")
                   cmd.Parameters.Add("@Lfullname")
                   cmd.Parameters.Add("@station_callsign")
                   cmd.Parameters.Add("@dxcc")
                   cmd.Parameters.Add("@cqz")
                   cmd.Parameters.Add("@ituz")
                   cmd.Parameters.Add("@rst_sent")
                   cmd.Parameters.Add("@rst_rcvd")
                   cmd.Parameters.Add("@lotw_qsl_sent")
                   cmd.Parameters.Add("@lotw_qsl_rcvd")
                   cmd.Parameters.Add("@eqsl_qsl_sent")
                   cmd.Parameters.Add("@eqsl_qsl_rcvd")
                   cmd.Parameters.Add("@qsl_sent")
                   cmd.Parameters.Add("@qsl_rcvd")
                   cmd.Parameters.Add("@qsl_sent_date")
                   cmd.Parameters.Add("@qsl_print")
                   cmd.Parameters.Add("@country")
                   cmd.Parameters.Add("@qth")
                   cmd.Parameters.Add("@LAT")
                   cmd.Parameters.Add("@LON")
                   cmd.Parameters.Add("@GRIDSQUARE")
                   cmd.Parameters.Add("@Lqslmgr")
                   cmd.Parameters.Add("@PFX")
                   cmd.Parameters.Add("@freq")
                   cmd.Parameters.Add("@DateNumber")
                   cmd.Parameters.Add("@iota")
                   cmd.Parameters.Add("@bk_qsl_sent")
                   cmd.Parameters.Add("@time_on")
                   cmd.Parameters.Add("@state")
                   cmd.Parameters.Add("@operato")
                   cmd.Parameters.Add("@nameop")
                   cmd.Parameters.Add("@Continent")

                   cmd.Parameters.Add("@clublog_qsl_sent")
                   cmd.Parameters.Add("@hamqth_qsl_sent")


                   ' Start Loop

                   cmd.Parameters("@CALLop").Value = colcall.Trim()
                   cmd.Parameters("@qso_date").Value = bkd.Trim()
                   cmd.Parameters("@timek").Value = timek.Trim()
                   cmd.Parameters("@bands").Value = colbands.Trim()
                   cmd.Parameters("@modes").Value = colmodes.Trim()
                   cmd.Parameters("@Lfullname").Value = colLfullname.Trim()
                   cmd.Parameters("@station_callsign").Value = colstation_callsign.Trim()
                   cmd.Parameters("@dxcc").Value = coldxcc.Trim()
                   cmd.Parameters("@cqz").Value = colcqz.Trim()
                   cmd.Parameters("@ituz").Value = colituz.Trim()
                   cmd.Parameters("@rst_sent").Value = colrst_sent.Trim()
                   cmd.Parameters("@rst_rcvd").Value = colrst_rcvd.Trim()
                   cmd.Parameters("@lotw_qsl_sent").Value = qnqno
                   cmd.Parameters("@lotw_qsl_rcvd").Value = qnqno2
                   cmd.Parameters("@eqsl_qsl_sent").Value = qnqno3
                   cmd.Parameters("@eqsl_qsl_rcvd").Value = qnqno4
                   cmd.Parameters("@qsl_sent").Value = qnqno5
                   cmd.Parameters("@qsl_rcvd").Value = qnqno6
                   cmd.Parameters("@qsl_sent_date").Value = colqsl_sent_date.Trim()
                   cmd.Parameters("@qsl_print").Value = colqsl_print.Trim()
                   cmd.Parameters("@country").Value = colcountry.Trim()
                   cmd.Parameters("@qth").Value = colqth.Trim()
                   cmd.Parameters("@LAT").Value = colLAT.Trim()
                   cmd.Parameters("@LON").Value = colLON.Trim()
                   cmd.Parameters("@GRIDSQUARE").Value = colGRIDSQUARE.Trim()
                   cmd.Parameters("@Lqslmgr").Value = colLqslmgr.Trim()
                   cmd.Parameters("@PFX").Value = colPFX.Trim()
                   cmd.Parameters("@freq").Value = colfreq.Trim()
                   cmd.Parameters("@DateNumber").Value = qso_date.Trim()
                   cmd.Parameters("@iota").Value = coliota.Trim()
                   cmd.Parameters("@bk_qsl_sent").Value = bk_qsl_sent.Trim()
                   cmd.Parameters("@time_on").Value = coltime_on.Trim()
                   cmd.Parameters("@state").Value = state.Trim()
                   cmd.Parameters("@operato").Value = operato.Trim()
                   cmd.Parameters("@nameop").Value = nameop.Trim()
                   cmd.Parameters("@Continent").Value = Continent.Trim()

                   cmd.Parameters("@clublog_qsl_sent").Value = clublog_qsl_sent.Trim()
                   cmd.Parameters("@hamqth_qsl_sent").Value = hamqth_qsl_sent.Trim()
                   cmd.ExecuteNonQuery()
                   ' End Loop


                   ' End Loop
                   cmd.Dispose()




               End If

           End Using
       End Using


كود :
          Dim cmd As New SQLiteCommand(String.Format("INSERT INTO DB{0} (CALLop,qso_date,timek,bands,modes,Lfullname,station_callsign,dxcc,cqz,ituz,rst_sent,rst_rcvd,lotw_qsl_sent,lotw_qsl_rcvd,eqsl_qsl_sent,eqsl_qsl_rcvd,qsl_sent,qsl_rcvd,qsl_sent_date,qsl_print,country,qth,LAT,LON,GRIDSQUARE,Lqslmgr,PFX,freq,DateNumber,iota,bk_qsl_sent,time_on,state,operato,nameop,Continent,hamqth_qsl_sent,clublog_qsl_sent) Values (@CALLop,@qso_date,@timek,@bands,@modes,@Lfullname,@station_callsign,@dxcc,@cqz,@ituz,@rst_sent,@rst_rcvd,@lotw_qsl_sent,@lotw_qsl_rcvd,@eqsl_qsl_sent,@eqsl_qsl_rcvd,@qsl_sent,@qsl_rcvd,@qsl_sent_date,@qsl_print,@country,@qth,@LAT,@LON,@GRIDSQUARE,@Lqslmgr,@PFX,@freq,@DateNumber,@iota,@bk_qsl_sent,@time_on,@state,@operato,@nameop,@Continent,@hamqth_qsl_sent,@clublog_qsl_sent)", strcallbk), conn)

                   cmd.Parameters.Add("@CALLop")
                   cmd.Parameters.Add("@qso_date")
                   cmd.Parameters.Add("@timek")
                   cmd.Parameters.Add("@bands")
                   cmd.Parameters.Add("@modes")
                   cmd.Parameters.Add("@Lfullname")
                   cmd.Parameters.Add("@station_callsign")
                   cmd.Parameters.Add("@dxcc")
                   cmd.Parameters.Add("@cqz")
                   cmd.Parameters.Add("@ituz")
                   cmd.Parameters.Add("@rst_sent")
                   cmd.Parameters.Add("@rst_rcvd")
                   cmd.Parameters.Add("@lotw_qsl_sent")
                   cmd.Parameters.Add("@lotw_qsl_rcvd")
                   cmd.Parameters.Add("@eqsl_qsl_sent")
                   cmd.Parameters.Add("@eqsl_qsl_rcvd")
                   cmd.Parameters.Add("@qsl_sent")
                   cmd.Parameters.Add("@qsl_rcvd")
                   cmd.Parameters.Add("@qsl_sent_date")
                   cmd.Parameters.Add("@qsl_print")
                   cmd.Parameters.Add("@country")
                   cmd.Parameters.Add("@qth")
                   cmd.Parameters.Add("@LAT")
                   cmd.Parameters.Add("@LON")
                   cmd.Parameters.Add("@GRIDSQUARE")
                   cmd.Parameters.Add("@Lqslmgr")
                   cmd.Parameters.Add("@PFX")
                   cmd.Parameters.Add("@freq")
                   cmd.Parameters.Add("@DateNumber")
                   cmd.Parameters.Add("@iota")
                   cmd.Parameters.Add("@bk_qsl_sent")
                   cmd.Parameters.Add("@time_on")
                   cmd.Parameters.Add("@state")
                   cmd.Parameters.Add("@operato")
                   cmd.Parameters.Add("@nameop")
                   cmd.Parameters.Add("@Continent")

                   cmd.Parameters.Add("@clublog_qsl_sent")
                   cmd.Parameters.Add("@hamqth_qsl_sent")


                   ' Start Loop

                   cmd.Parameters("@CALLop").Value = colcall.Trim()
                   cmd.Parameters("@qso_date").Value = bkd.Trim()
                   cmd.Parameters("@timek").Value = timek.Trim()
                   cmd.Parameters("@bands").Value = colbands.Trim()
                   cmd.Parameters("@modes").Value = colmodes.Trim()
                   cmd.Parameters("@Lfullname").Value = colLfullname.Trim()
                   cmd.Parameters("@station_callsign").Value = colstation_callsign.Trim()
                   cmd.Parameters("@dxcc").Value = coldxcc.Trim()
                   cmd.Parameters("@cqz").Value = colcqz.Trim()
                   cmd.Parameters("@ituz").Value = colituz.Trim()
                   cmd.Parameters("@rst_sent").Value = colrst_sent.Trim()
                   cmd.Parameters("@rst_rcvd").Value = colrst_rcvd.Trim()
                   cmd.Parameters("@lotw_qsl_sent").Value = qnqno
                   cmd.Parameters("@lotw_qsl_rcvd").Value = qnqno2
                   cmd.Parameters("@eqsl_qsl_sent").Value = qnqno3
                   cmd.Parameters("@eqsl_qsl_rcvd").Value = qnqno4
                   cmd.Parameters("@qsl_sent").Value = qnqno5
                   cmd.Parameters("@qsl_rcvd").Value = qnqno6
                   cmd.Parameters("@qsl_sent_date").Value = colqsl_sent_date.Trim()
                   cmd.Parameters("@qsl_print").Value = colqsl_print.Trim()
                   cmd.Parameters("@country").Value = colcountry.Trim()
                   cmd.Parameters("@qth").Value = colqth.Trim()
                   cmd.Parameters("@LAT").Value = colLAT.Trim()
                   cmd.Parameters("@LON").Value = colLON.Trim()
                   cmd.Parameters("@GRIDSQUARE").Value = colGRIDSQUARE.Trim()
                   cmd.Parameters("@Lqslmgr").Value = colLqslmgr.Trim()
                   cmd.Parameters("@PFX").Value = colPFX.Trim()
                   cmd.Parameters("@freq").Value = colfreq.Trim()
                   cmd.Parameters("@DateNumber").Value = qso_date.Trim()
                   cmd.Parameters("@iota").Value = coliota.Trim()
                   cmd.Parameters("@bk_qsl_sent").Value = bk_qsl_sent.Trim()
                   cmd.Parameters("@time_on").Value = coltime_on.Trim()
                   cmd.Parameters("@state").Value = state.Trim()
                   cmd.Parameters("@operato").Value = operato.Trim()
                   cmd.Parameters("@nameop").Value = nameop.Trim()
                   cmd.Parameters("@Continent").Value = Continent.Trim()

                   cmd.Parameters("@clublog_qsl_sent").Value = clublog_qsl_sent.Trim()
                   cmd.Parameters("@hamqth_qsl_sent").Value = hamqth_qsl_sent.Trim()
                   cmd.ExecuteNonQuery()
                   ' End Loop


بس عند التجربة طلع لي غلط

إقتباس :Unable to cast object of type 'System.String' to type 'System.Data.SQLite.SQLiteParameter'.

   


واما بخصوص 
إقتباس :أيضا اود ان تختصر  قليلاً بالكود فلماذا تستعلم  اذا كان موجود  أو لا  ثم ترسل استعلام جديد يضيف البيانات  ، فانا لا اعلم  ان  كانت  SQLite تدعم  او لا ، لكن لا مانع ان تقرأ هذا الموضوع  

http://vb4arb.com/vb/showthread.php?tid=14259


الظاهر SQLite  لا يدعمه 

بارك الله فيك وكثر من امثالك

قبل التغيير جربة انز 1000 سجل ونزل في خمس الى ست دقائق

ومع التغيير  

كود :
     Using conn As New SQLiteConnection("Data Source= " & System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\BKHAMLOG\DB" & strcallbk & ".s3db")
           Using cmdi As SQLiteCommand = conn.CreateCommand()

               cmdi.CommandText = "SELECT COUNT(*) FROM DB" & strcallbk & " WHERE CALLop = @CALLop  and   DateNumber = @DateNumber  and  time_on = @time_on"

               cmdi.Parameters.AddWithValue("@CALLop", colcall.Trim())
               cmdi.Parameters.AddWithValue("@DateNumber", qso_date.Trim())
               cmdi.Parameters.AddWithValue("@time_on", coltimex.Trim())
               conn.Open()
               Dim exists As String = cmdi.ExecuteScalar().ToString()

               If exists = "1" Then


               Else
                   Dim cmd As New SQLiteCommand(String.Format("INSERT INTO DB{0} (CALLop,qso_date,timek,bands,modes,Lfullname,station_callsign,dxcc,cqz,ituz,rst_sent,rst_rcvd,lotw_qsl_sent,lotw_qsl_rcvd,eqsl_qsl_sent,eqsl_qsl_rcvd,qsl_sent,qsl_rcvd,qsl_sent_date,qsl_print,country,qth,LAT,LON,GRIDSQUARE,Lqslmgr,PFX,freq,DateNumber,iota,bk_qsl_sent,time_on,state,operato,nameop,Continent,hamqth_qsl_sent,clublog_qsl_sent) Values (@CALLop,@qso_date,@timek,@bands,@modes,@Lfullname,@station_callsign,@dxcc,@cqz,@ituz,@rst_sent,@rst_rcvd,@lotw_qsl_sent,@lotw_qsl_rcvd,@eqsl_qsl_sent,@eqsl_qsl_rcvd,@qsl_sent,@qsl_rcvd,@qsl_sent_date,@qsl_print,@country,@qth,@LAT,@LON,@GRIDSQUARE,@Lqslmgr,@PFX,@freq,@DateNumber,@iota,@bk_qsl_sent,@time_on,@state,@operato,@nameop,@Continent,@hamqth_qsl_sent,@clublog_qsl_sent)", strcallbk), conn)
                   cmd.Parameters.Add("@CALLop", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qso_date", SqlDbType.VarChar)
                   cmd.Parameters.Add("@timek", SqlDbType.VarChar)
                   cmd.Parameters.Add("@bands", SqlDbType.VarChar)
                   cmd.Parameters.Add("@modes", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Lfullname", SqlDbType.VarChar)
                   cmd.Parameters.Add("@station_callsign", SqlDbType.VarChar)
                   cmd.Parameters.Add("@dxcc", SqlDbType.VarChar)
                   cmd.Parameters.Add("@cqz", SqlDbType.VarChar)
                   cmd.Parameters.Add("@ituz", SqlDbType.VarChar)
                   cmd.Parameters.Add("@rst_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@rst_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@lotw_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@lotw_qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@eqsl_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@eqsl_qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_sent_date", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_print", SqlDbType.VarChar)
                   cmd.Parameters.Add("@country", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qth", SqlDbType.VarChar)
                   cmd.Parameters.Add("@LAT", SqlDbType.VarChar)
                   cmd.Parameters.Add("@LON", SqlDbType.VarChar)
                   cmd.Parameters.Add("@GRIDSQUARE", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Lqslmgr", SqlDbType.VarChar)
                   cmd.Parameters.Add("@PFX", SqlDbType.VarChar)
                   cmd.Parameters.Add("@freq", SqlDbType.VarChar)
                   cmd.Parameters.Add("@DateNumber", SqlDbType.VarChar)
                   cmd.Parameters.Add("@iota", SqlDbType.VarChar)
                   cmd.Parameters.Add("@bk_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@time_on", SqlDbType.VarChar)
                   cmd.Parameters.Add("@state", SqlDbType.VarChar)
                   cmd.Parameters.Add("@operato", SqlDbType.VarChar)
                   cmd.Parameters.Add("@nameop", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Continent", SqlDbType.VarChar)

                   cmd.Parameters.Add("@clublog_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@hamqth_qsl_sent", SqlDbType.VarChar)



                   ' Start Loop



                   cmd.Parameters("@CALLop").Value = colcall.Trim()
                   cmd.Parameters("@qso_date").Value = bkd.Trim()
                   cmd.Parameters("@timek").Value = timek.Trim()
                   cmd.Parameters("@bands").Value = colbands.Trim()
                   cmd.Parameters("@modes").Value = colmodes.Trim()
                   cmd.Parameters("@Lfullname").Value = colLfullname.Trim()
                   cmd.Parameters("@station_callsign").Value = colstation_callsign.Trim()
                   cmd.Parameters("@dxcc").Value = coldxcc.Trim()
                   cmd.Parameters("@cqz").Value = colcqz.Trim()
                   cmd.Parameters("@ituz").Value = colituz.Trim()
                   cmd.Parameters("@rst_sent").Value = colrst_sent.Trim()
                   cmd.Parameters("@rst_rcvd").Value = colrst_rcvd.Trim()
                   cmd.Parameters("@lotw_qsl_sent").Value = qnqno
                   cmd.Parameters("@lotw_qsl_rcvd").Value = qnqno2
                   cmd.Parameters("@eqsl_qsl_sent").Value = qnqno3
                   cmd.Parameters("@eqsl_qsl_rcvd").Value = qnqno4
                   cmd.Parameters("@qsl_sent").Value = qnqno5
                   cmd.Parameters("@qsl_rcvd").Value = qnqno6
                   cmd.Parameters("@qsl_sent_date").Value = colqsl_sent_date.Trim()
                   cmd.Parameters("@qsl_print").Value = colqsl_print.Trim()
                   cmd.Parameters("@country").Value = colcountry.Trim()
                   cmd.Parameters("@qth").Value = colqth.Trim()
                   cmd.Parameters("@LAT").Value = colLAT.Trim()
                   cmd.Parameters("@LON").Value = colLON.Trim()
                   cmd.Parameters("@GRIDSQUARE").Value = colGRIDSQUARE.Trim()
                   cmd.Parameters("@Lqslmgr").Value = colLqslmgr.Trim()
                   cmd.Parameters("@PFX").Value = colPFX.Trim()
                   cmd.Parameters("@freq").Value = colfreq.Trim()
                   cmd.Parameters("@DateNumber").Value = qso_date.Trim()
                   cmd.Parameters("@iota").Value = coliota.Trim()
                   cmd.Parameters("@bk_qsl_sent").Value = bk_qsl_sent.Trim()
                   cmd.Parameters("@time_on").Value = coltime_on.Trim()
                   cmd.Parameters("@state").Value = state.Trim()
                   cmd.Parameters("@operato").Value = operato.Trim()
                   cmd.Parameters("@nameop").Value = nameop.Trim()
                   cmd.Parameters("@Continent").Value = Continent.Trim()

                   cmd.Parameters("@clublog_qsl_sent").Value = clublog_qsl_sent.Trim()
                   cmd.Parameters("@hamqth_qsl_sent").Value = hamqth_qsl_sent.Trim()
                   cmd.ExecuteNonQuery()
                   ' End Loop

                   ' End Loop
                   cmd.Dispose()




               End If

           End Using
       End Using


ونزلت 1000 سجل من جديد بعد نزل في خمس الى ست دقائق


وجربت امسح الاستعلام
كود :
               cmdi.CommandText = "SELECT COUNT(*) FROM DB" & strcallbk & " WHERE CALLop = @CALLop  and   DateNumber = @DateNumber  and  time_on = @time_on"

               cmdi.Parameters.AddWithValue("@CALLop", colcall.Trim())
               cmdi.Parameters.AddWithValue("@DateNumber", qso_date.Trim())
               cmdi.Parameters.AddWithValue("@time_on", coltimex.Trim())
               conn.Open()
               Dim exists As String = cmdi.ExecuteScalar().ToString()

               If exists = "1" Then


ليكون كذا


كود :
 
       Using conn As New SQLiteConnection("Data Source= " & System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\BKHAMLOG\DB" & strcallbk & ".s3db")
           Using cmdi As SQLiteCommand = conn.CreateCommand()

               conn.Open()
                   Dim cmd As New SQLiteCommand(String.Format("INSERT INTO DB{0} (CALLop,qso_date,timek,bands,modes,Lfullname,station_callsign,dxcc,cqz,ituz,rst_sent,rst_rcvd,lotw_qsl_sent,lotw_qsl_rcvd,eqsl_qsl_sent,eqsl_qsl_rcvd,qsl_sent,qsl_rcvd,qsl_sent_date,qsl_print,country,qth,LAT,LON,GRIDSQUARE,Lqslmgr,PFX,freq,DateNumber,iota,bk_qsl_sent,time_on,state,operato,nameop,Continent,hamqth_qsl_sent,clublog_qsl_sent) Values (@CALLop,@qso_date,@timek,@bands,@modes,@Lfullname,@station_callsign,@dxcc,@cqz,@ituz,@rst_sent,@rst_rcvd,@lotw_qsl_sent,@lotw_qsl_rcvd,@eqsl_qsl_sent,@eqsl_qsl_rcvd,@qsl_sent,@qsl_rcvd,@qsl_sent_date,@qsl_print,@country,@qth,@LAT,@LON,@GRIDSQUARE,@Lqslmgr,@PFX,@freq,@DateNumber,@iota,@bk_qsl_sent,@time_on,@state,@operato,@nameop,@Continent,@hamqth_qsl_sent,@clublog_qsl_sent)", strcallbk), conn)
                   cmd.Parameters.Add("@CALLop", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qso_date", SqlDbType.VarChar)
                   cmd.Parameters.Add("@timek", SqlDbType.VarChar)
                   cmd.Parameters.Add("@bands", SqlDbType.VarChar)
                   cmd.Parameters.Add("@modes", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Lfullname", SqlDbType.VarChar)
                   cmd.Parameters.Add("@station_callsign", SqlDbType.VarChar)
                   cmd.Parameters.Add("@dxcc", SqlDbType.VarChar)
                   cmd.Parameters.Add("@cqz", SqlDbType.VarChar)
                   cmd.Parameters.Add("@ituz", SqlDbType.VarChar)
                   cmd.Parameters.Add("@rst_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@rst_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@lotw_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@lotw_qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@eqsl_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@eqsl_qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_rcvd", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_sent_date", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qsl_print", SqlDbType.VarChar)
                   cmd.Parameters.Add("@country", SqlDbType.VarChar)
                   cmd.Parameters.Add("@qth", SqlDbType.VarChar)
                   cmd.Parameters.Add("@LAT", SqlDbType.VarChar)
                   cmd.Parameters.Add("@LON", SqlDbType.VarChar)
                   cmd.Parameters.Add("@GRIDSQUARE", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Lqslmgr", SqlDbType.VarChar)
                   cmd.Parameters.Add("@PFX", SqlDbType.VarChar)
                   cmd.Parameters.Add("@freq", SqlDbType.VarChar)
                   cmd.Parameters.Add("@DateNumber", SqlDbType.VarChar)
                   cmd.Parameters.Add("@iota", SqlDbType.VarChar)
                   cmd.Parameters.Add("@bk_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@time_on", SqlDbType.VarChar)
                   cmd.Parameters.Add("@state", SqlDbType.VarChar)
                   cmd.Parameters.Add("@operato", SqlDbType.VarChar)
                   cmd.Parameters.Add("@nameop", SqlDbType.VarChar)
                   cmd.Parameters.Add("@Continent", SqlDbType.VarChar)

                   cmd.Parameters.Add("@clublog_qsl_sent", SqlDbType.VarChar)
                   cmd.Parameters.Add("@hamqth_qsl_sent", SqlDbType.VarChar)



                   ' Start Loop



                   cmd.Parameters("@CALLop").Value = colcall.Trim()
                   cmd.Parameters("@qso_date").Value = bkd.Trim()
                   cmd.Parameters("@timek").Value = timek.Trim()
                   cmd.Parameters("@bands").Value = colbands.Trim()
                   cmd.Parameters("@modes").Value = colmodes.Trim()
                   cmd.Parameters("@Lfullname").Value = colLfullname.Trim()
                   cmd.Parameters("@station_callsign").Value = colstation_callsign.Trim()
                   cmd.Parameters("@dxcc").Value = coldxcc.Trim()
                   cmd.Parameters("@cqz").Value = colcqz.Trim()
                   cmd.Parameters("@ituz").Value = colituz.Trim()
                   cmd.Parameters("@rst_sent").Value = colrst_sent.Trim()
                   cmd.Parameters("@rst_rcvd").Value = colrst_rcvd.Trim()
                   cmd.Parameters("@lotw_qsl_sent").Value = qnqno
                   cmd.Parameters("@lotw_qsl_rcvd").Value = qnqno2
                   cmd.Parameters("@eqsl_qsl_sent").Value = qnqno3
                   cmd.Parameters("@eqsl_qsl_rcvd").Value = qnqno4
                   cmd.Parameters("@qsl_sent").Value = qnqno5
                   cmd.Parameters("@qsl_rcvd").Value = qnqno6
                   cmd.Parameters("@qsl_sent_date").Value = colqsl_sent_date.Trim()
                   cmd.Parameters("@qsl_print").Value = colqsl_print.Trim()
                   cmd.Parameters("@country").Value = colcountry.Trim()
                   cmd.Parameters("@qth").Value = colqth.Trim()
                   cmd.Parameters("@LAT").Value = colLAT.Trim()
                   cmd.Parameters("@LON").Value = colLON.Trim()
                   cmd.Parameters("@GRIDSQUARE").Value = colGRIDSQUARE.Trim()
                   cmd.Parameters("@Lqslmgr").Value = colLqslmgr.Trim()
                   cmd.Parameters("@PFX").Value = colPFX.Trim()
                   cmd.Parameters("@freq").Value = colfreq.Trim()
                   cmd.Parameters("@DateNumber").Value = qso_date.Trim()
                   cmd.Parameters("@iota").Value = coliota.Trim()
                   cmd.Parameters("@bk_qsl_sent").Value = bk_qsl_sent.Trim()
                   cmd.Parameters("@time_on").Value = coltime_on.Trim()
                   cmd.Parameters("@state").Value = state.Trim()
                   cmd.Parameters("@operato").Value = operato.Trim()
                   cmd.Parameters("@nameop").Value = nameop.Trim()
                   cmd.Parameters("@Continent").Value = Continent.Trim()

                   cmd.Parameters("@clublog_qsl_sent").Value = clublog_qsl_sent.Trim()
                   cmd.Parameters("@hamqth_qsl_sent").Value = hamqth_qsl_sent.Trim()
                   cmd.ExecuteNonQuery()
                   ' End Loop

                   ' End Loop
                   cmd.Dispose()





           End Using
       End Using


ونزلت 1000 سجل كمان نفس الوقت تقريبا 5 الى ست دقائق
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 28-03-17, 02:24 AM
RE: عملية ال INSERT بطيئة جدا - بواسطة myalsailamy - 28-03-17, 10:23 AM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 28-03-17, 12:37 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة abdualla - 28-03-17, 01:35 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 28-03-17, 03:59 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 28-03-17, 09:48 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 28-03-17, 11:31 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة myalsailamy - 29-03-17, 01:31 AM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 29-03-17, 01:46 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة myalsailamy - 29-03-17, 03:09 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 29-03-17, 06:30 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 30-03-17, 03:47 AM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 30-03-17, 06:21 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 31-03-17, 02:33 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 31-03-17, 08:05 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 31-03-17, 08:44 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 01-04-17, 02:29 PM
RE: عملية ال INSERT بطيئة جدا - بواسطة dubai.eig - 01-04-17, 07:08 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  القيام بعملية Insert بعد التأكد من عدم وجود السجل بالجدول صالح عبدالله 2 358 04-01-25, 03:56 PM
آخر رد: صالح عبدالله
  لايمكن الوصول للملف لأنه قيد الاستخدام بواسطة عملية أخرى صالح عبدالله 3 337 24-12-24, 12:17 AM
آخر رد: صالح عبدالله
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,787 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 811 11-02-24, 08:43 PM
آخر رد: assuhimi
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 1,571 15-12-23, 07:47 AM
آخر رد: foad8920
  [VB.NET] Datagridview Slow حركة بطيئة waataanys 1 501 20-11-23, 04:33 PM
آخر رد: justforit
  [VB.NET] ناتج عملية الطرح للأرقام الشعرية خطا عبدالله الصافي 3 681 27-09-23, 11:01 AM
آخر رد: قناص المدينة
  عملية حسابية خاصة محمد خيري 6 864 22-08-23, 09:09 AM
آخر رد: مصمم هاوي
  [VB.NET] ما الخطا فى كود insert Asabry 45 a 6 1,050 18-01-23, 08:24 PM
آخر رد: Asabry 45 a
  ماهى عملية الضرب داخل sql حماده ممدوح البحيرى 5 1,234 18-12-22, 01:00 PM
آخر رد: Taha Okla

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


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