(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 الى ست دقائق

