تقييم الموضوع :
  • 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
استاذ عبد الله الدوسري
دائما متالق ماشاء الله عليك
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] استفسار Nani 3 1,250 10-04-24, 04:35 AM
آخر رد: emadahmed1995
  سؤا بخصوص تجيمع كميات المواد المباعة في اليوم momani33 2 131 07-04-24, 11:02 PM
آخر رد: momani33
  [سؤال] استفسار toe 2 99 26-03-24, 08:13 PM
آخر رد: mrfenix93
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 202 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  حذف الاسطر الفارغه من الداتا جريد فيو اليوم السابع 3 2,383 03-03-24, 12:57 AM
آخر رد: مصمم هاوي
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 242 25-02-24, 11:26 PM
آخر رد: heem1986
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 118 22-02-24, 12:09 PM
آخر رد: AHMED213
  استفسار هام جدا سلام و محبه2090 1 146 17-02-24, 08:26 PM
آخر رد: عبدالله الدوسري
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 323 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
  [VB.NET] ظهور التاريخ غير مرتب بالأقدم في datagridview مبرمج صغير 1 4 309 26-01-24, 03:41 PM
آخر رد: atefkhalf2004

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم