تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار :- بخصوص نقل الداتا من DataGridView عن طريق CheckBoxColumn
#1
السلام عليكم ورحمة الله

مشكله تعبتني 

عندي كود ينقل البينات من DataGridView   لانزلها في قاعدة البيانات

عن طريقه اختيار معلومات معينه بالضغط على CheckBoxColumn
   

اختار الي اريده ان كان سطر واحد او اكثر

المهم الكود شغال ينقل وينزل في القاعدة

المشكله في حالت عدم الاشاره على CheckBoxColumn
يطلع لي مسج
كود :
    MessageBox.Show("Not Checked")


ولكن هذا المسج يطلع لي  على  عدد الاسطر الموجوده في DataGridView
   

يعني ما يطلع مرة واحد فقط ويختفي لا اذا كانت عدد الاسطر في ال 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

حاولت اغير مكانه بس ما ضبط 

بارك الله فيكم وشكرا على المساعده
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاتة 



كود :
 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
تحياتي ...
الرد }}}
#3
(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
تحياتي ...

احسنت استاذي تعبت من البحث والتجارب ههههه

شكرا لك دائما نساعد ربي يوفقك وييسر امرك يا رب Rolleyes
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#4
(15-10-18, 07:58 PM)dubai.eig كتب : احسنت استاذي تعبت من البحث والتجارب ههههه

شكرا لك دائما نساعد ربي يوفقك وييسر امرك يا رب Rolleyes


العفوا أخي  dubai.eig  ( شكراً على الدعوة الطيبة , بارك الله فيك )

أي عضو يضع سؤال واضح ومتبوع بالكود والصور والمحاولة التي قام بها .

لا أستطيع إلا أن أقوم بالمساعدة حتى لو أخذ من وقتي الكثير .
وحتى لو كنت لا أعرف الحل , سأبحث عن الحل من أجلة .


لأنه وبكل بساطة هكذا تطرح الأسئلة النموذجية .

أتمنى من البعض ( Dodgy ) أن يطرحوا الأسئلة بنفس هذا الإسلوب.

تحياتي لك . وتستاهل +1 
الرد }}}
تم الشكر بواسطة: dubai.eig , dubai.eig , Amir_Alzubidy , mr_hso , moosa_alabri
#5
استاذ عبد الله الدوسري
دائما متالق ماشاء الله عليك
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 270 02-11-25, 11:19 PM
آخر رد: justforit
  [VB.NET] بخصوص تشفير FoxLearn.License h2551996 1 636 17-07-25, 09:18 PM
آخر رد: h2551996
  [VB.NET] استفسار بخصوص البحث في RichTextBox SerialPort dubai.eig 2 661 18-06-25, 11:09 AM
آخر رد: dubai.eig
  استفسار لو سمحتم خالد كامل1 3 808 04-06-25, 06:03 PM
آخر رد: Kamil
  استفسار عن حامية برنامج ahmedramy 2 578 27-04-25, 06:02 PM
آخر رد: princelovelorn
  [VB.NET] محتاج اربط DataGridView بزر بحث bakrycold 1 551 28-02-25, 12:11 AM
آخر رد: bakrycold
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 619 05-02-25, 01:51 AM
آخر رد: new_programer
  استفسار عن تنسيق الفورم في حالة تغيرالفورم من وضع العادي الي التكبير fireswored1 4 823 22-01-25, 09:04 PM
آخر رد: fireswored1
  [VB.NET] استعراض بيانات في Datagridview واضافة جميع البيانات لجدول محدد sql skode 0 487 12-01-25, 12:50 AM
آخر رد: skode
  استفسار عن حمايه البرنامج ahmedramy 1 553 25-12-24, 11:07 PM
آخر رد: aljzazy

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


يقوم بقرائة الموضوع: