استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn - dubai.eig - 15-10-18
السلام عليكم ورحمة الله
مشكله تعبتني
عندي كود ينقل البينات من DataGridView لانزلها في قاعدة البيانات
عن طريقه اختيار معلومات معينه بالضغط على CheckBoxColumn
[attachment=19847]
اختار الي اريده ان كان سطر واحد او اكثر
المهم الكود شغال ينقل وينزل في القاعدة
المشكله في حالت عدم الاشاره على CheckBoxColumn
يطلع لي مسج
كود :
MessageBox.Show("Not Checked")
ولكن هذا المسج يطلع لي على عدد الاسطر الموجوده في DataGridView
[attachment=19847]
يعني ما يطلع مرة واحد فقط ويختفي لا اذا كانت عدد الاسطر في ال DataGridView
4 يطلع لي المسج اربع مرات
هذا الكود
كود :
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
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 = 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
}
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())
If conxa.State <> ConnectionState.Open Then conxa.Open()
cmdxa.ExecuteNonQuery()
conxa.Close()
Application.DoEvents()
Else
MessageBox.Show("Not Checked")
End If
Next
اتوقع اعادة ضهور المسج بسبب
Next
حاولت اغير مكانه بس ما ضبط
بارك الله فيكم وشكرا على المساعده
RE: استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn - عبدالله الدوسري - 15-10-18
وعليكم السلام ورحمة الله وبركاتة
كود :
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
تحياتي ...
RE: استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn - dubai.eig - 15-10-18
(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
تحياتي ...
احسنت استاذي تعبت من البحث والتجارب ههههه
شكرا لك دائما نساعد ربي يوفقك وييسر امرك يا رب
RE: استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn - عبدالله الدوسري - 15-10-18
(15-10-18, 07:58 PM)dubai.eig كتب : احسنت استاذي تعبت من البحث والتجارب ههههه
شكرا لك دائما نساعد ربي يوفقك وييسر امرك يا رب 
العفوا أخي dubai.eig ( شكراً على الدعوة الطيبة , بارك الله فيك )
أي عضو يضع سؤال واضح ومتبوع بالكود والصور والمحاولة التي قام بها .
لا أستطيع إلا أن أقوم بالمساعدة حتى لو أخذ من وقتي الكثير .
وحتى لو كنت لا أعرف الحل , سأبحث عن الحل من أجلة .
لأنه وبكل بساطة هكذا تطرح الأسئلة النموذجية .
أتمنى من البعض ( ) أن يطرحوا الأسئلة بنفس هذا الإسلوب.
تحياتي لك . وتستاهل +1
RE: استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn - mr_hso - 19-01-21
استاذ عبد الله الدوسري
دائما متالق ماشاء الله عليك
|