أخي جرب الطريقة التالية
كما تلاحظ تم التعريف عن cmd مرة واحدة للإستعلامين في الفورم مع عدم استخدام Dispose طبعا
لكن لو وضعت المشروع قد أجد طريقة أسهل وأسرع
PHP كود :
Private cmd As New SQLiteCommand(String.Empty, con)
Sub INSERT()
cmd.CommandText = "SELECT COUNT(CALLop) FROM DB" & strcallbk & " WHERE (CALLop = @CALLop) AND (DateNumber = @DateNumber) AND (time_on = @time_on)"
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@CALLop", colcall.Trim())
cmd.Parameters.AddWithValue("@DateNumber", qso_date.Trim())
cmd.Parameters.AddWithValue("@time_on", coltimex.Trim())
If cmd.ExecuteScalar = 0 Then
cmd.CommandText = "INSERT INTO DB" & strcallbk & " (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)"
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@CALLop", colcall.Trim())
cmd.Parameters.AddWithValue("@qso_date", bkd.Trim())
cmd.Parameters.AddWithValue("@timek", timek.Trim())
cmd.Parameters.AddWithValue("@bands", colbands.Trim())
cmd.Parameters.AddWithValue("@modes", colmodes.Trim())
cmd.Parameters.AddWithValue("@Lfullname", colLfullname.Trim())
cmd.Parameters.AddWithValue("@station_callsign", colstation_callsign.Trim())
cmd.Parameters.AddWithValue("@dxcc", coldxcc.Trim())
cmd.Parameters.AddWithValue("@cqz", colcqz.Trim())
cmd.Parameters.AddWithValue("@ituz", colituz.Trim())
cmd.Parameters.AddWithValue("@rst_sent", colrst_sent.Trim())
cmd.Parameters.AddWithValue("@rst_rcvd", colrst_rcvd.Trim())
cmd.Parameters.AddWithValue("@lotw_qsl_sent", collotw_qsl_sent.Trim())
cmd.Parameters.AddWithValue("@lotw_qsl_rcvd", collotw_qsl_rcvd.Trim())
cmd.Parameters.AddWithValue("@eqsl_qsl_sent", coleqsl_qsl_sent.Trim())
cmd.Parameters.AddWithValue("@eqsl_qsl_rcvd", coleqsl_qsl_rcvd.Trim())
cmd.Parameters.AddWithValue("@qsl_sent", colqsl_sent.Trim())
cmd.Parameters.AddWithValue("@qsl_rcvd", colqsl_rcvd.Trim())
cmd.Parameters.AddWithValue("@qsl_sent_date", colqsl_sent_date.Trim())
cmd.Parameters.AddWithValue("@qsl_print", colqsl_print.Trim())
cmd.Parameters.AddWithValue("@country", colcountry.Trim())
cmd.Parameters.AddWithValue("@qth", colqth.Trim())
cmd.Parameters.AddWithValue("@LAT", colLAT.Trim())
cmd.Parameters.AddWithValue("@LON", colLON.Trim())
cmd.Parameters.AddWithValue("@GRIDSQUARE", colGRIDSQUARE.Trim())
cmd.Parameters.AddWithValue("@Lqslmgr", colLqslmgr.Trim())
cmd.Parameters.AddWithValue("@PFX", colPFX.Trim())
cmd.Parameters.AddWithValue("@freq", colfreq.Trim())
cmd.Parameters.AddWithValue("@DateNumber", qso_date.Trim())
cmd.Parameters.AddWithValue("@iota", coliota.Trim())
cmd.Parameters.AddWithValue("@bk_qsl_sent", bk_qsl_sent.Trim())
cmd.Parameters.AddWithValue("@time_on", coltime_on.Trim())
cmd.Parameters.AddWithValue("@state", state.Trim())
cmd.Parameters.AddWithValue("@operato", operato.Trim())
cmd.Parameters.AddWithValue("@nameop", nameop.Trim())
cmd.Parameters.AddWithValue("@Continent", Continent.Trim())
cmd.Parameters.AddWithValue("@clublog_qsl_sent", clublog_qsl_sent.Trim())
cmd.Parameters.AddWithValue("@hamqth_qsl_sent", hamqth_qsl_sent.Trim())
cmd.ExecuteNonQuery()
Label1.Text = Val(Label1.Text) + 1
Else
Label5.Text = Val(Label5.Text) + 1
End If
End Sub
كما تلاحظ تم التعريف عن cmd مرة واحدة للإستعلامين في الفورم مع عدم استخدام Dispose طبعا
لكن لو وضعت المشروع قد أجد طريقة أسهل وأسرع

