15-10-18, 07:32 PM
وعليكم السلام ورحمة الله وبركاتة
تحياتي ...
كود :
Dim HasAnyCheck As Boolean = False
' لتسريع العملية تم إخراج إنشاء الأمر وفتح الإتصال خارج الإلتفاف
' SQLiteCommand لا تحتاج في كل مرة تعريف جملة الإستعلام لكائن
' هي مرة واحد في حياتة كلها
cmdxa = New SQLiteCommand("INSERT INTO db (omcall ,qso_date ,timeutc ,bands ,modes ,rst_sent,rst_rcvd) Values (@omcall ,@qso_date ,@timeutc ,@bands ,@modes ,@rst_sent,@rst_rcvd)") With {
.Connection = conxa
}
conxa.Open() ' الأفضل فتح الإتصال مرة واحدة فقط وليس في كل لفة
For r As Integer = 0 To DataGridView2.Rows.Count - 1
Dim check As Boolean = CType(DataGridView2.Rows(r).Cells(0).Value, Boolean)
If check = True Then
HasAnyCheck = True
itm2 = DataGridView2.Rows(r).Cells(2).Value
itm3 = DataGridView2.Rows(r).Cells(3).Value
itm4 = DataGridView2.Rows(r).Cells(4).Value
itm5 = DataGridView2.Rows(r).Cells(5).Value
itm6 = DataGridView2.Rows(r).Cells(6).Value
itm7 = DataGridView2.Rows(r).Cells(7).Value
itm8 = DataGridView2.Rows(r).Cells(8).Value
cmdxa.Parameters.Clear()
cmdxa.Parameters.AddWithValue("@omcall", itm2.Trim())
cmdxa.Parameters.AddWithValue("@qso_date", itm3.Trim())
cmdxa.Parameters.AddWithValue("@timeutc", Trim(Convert.ToString(itm4)))
cmdxa.Parameters.AddWithValue("@bands", itm5.Trim())
cmdxa.Parameters.AddWithValue("@modes", itm6.Trim())
cmdxa.Parameters.AddWithValue("@rst_sent", itm7.Trim())
cmdxa.Parameters.AddWithValue("@rst_rcvd", itm8.Trim())
cmdxa.ExecuteNonQuery()
Application.DoEvents()
End If
Next
conxa.Close() ' بعد الإنتهاء إغلاق الإتصال
If Not HasAnyCheck Then
MessageBox.Show("Not Checked")
End If