منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طلب مساعدة بخصوص حفظ الداتا جريد فيو بها تشيكبوكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
عندي داتا جريد فيو بها عمود تشيك بوكس
عند الاختيار اريد من الكود أن يحفظ البيانات الموجودة لتي تم اختيارها
قاعدة البيانات أكسس
وجربت هذا الكود
كود :
        If con.State = ConnectionState.Open Then
            con.Close()
        End If
        If TXT_ID_ABS.Text = "" Or DGV_NAM.Rows.Count = 0 Then
            MsgBox("Cant save incomplete information", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
       Dim inserted As Integer = 0
       For Each row As DataGridViewRow In DGV_NAM.Rows
           Dim isChecked As Boolean = Convert.ToBoolean(row.Cells("WARN").Value)
           If isChecked Then
               Dim SA As String
               Dim CMD As New OleDbCommand(SA, con)
               SA = "INSERT INTO ABSE_TBL VALUES(@ID_ABS, @ABS_DAT, @STU_ID,@STU_NAM,@CLS,@GRAD)"
               CMD.Parameters.AddWithValue("ID_ABS", TXT_ID_ABS.Text)
               CMD.Parameters.AddWithValue("ABS_DAT", ABSE_DAT.Text)
               CMD.Parameters.AddWithValue("@STU_ID", row.Cells("ST_Id").Value)
               CMD.Parameters.AddWithValue("@STU_NAM", row.Cells("ST_Nam").Value)
               CMD.Parameters.AddWithValue("CLS", cls_lst.Text)
               CMD.Parameters.AddWithValue("GRAD", grad_lst.Text)
               'CMD.Parameters.AddWithValue("@STU_ID", row.Cells("WARN").Value)
               con.Open()
               CMD.ExecuteNonQuery()
               con.Close()
           End If
       Next
       MessageBox.Show("تم حفظ سجل الغياب بنجاح")
   End Sub
السلام عليكم اخي الكريم
طبعا يجب ان يكون الحقل في الجدول بقاعدة البيانات من نوغ Yes/no  اي Boolean
وهذا المثال بالوضع المنفصل فيه جملة الحفظ عبارة عن صب وفي زر الحفظ نستدعي هذا الصب وفق الباراميترات
المطلوبة تمعن الكود جيدا ثم انحو نحوه وفق الحقول التي لديك وغير الاسماء ايضا
ارجو ان اكون قد افدتك
(15-08-19, 03:44 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
طبعا يجب ان يكون الحقل في الجدول بقاعدة البيانات من نوغ Yes/no  اي Boolean
وهذا المثال بالوضع المنفصل فيه جملة الحفظ عبارة عن صب وفي زر الحفظ نستدعي هذا الصب وفق الباراميترات
المطلوبة تمعن الكود جيدا ثم انحو نحوه وفق الحقول التي لديك وغير الاسماء ايضا
ارجو ان اكون قد افدتك

جزاك الله خير على سرعة الرد وسوف أجرب 
وأشكرك مرة ثانية على التجاوب السريع
(16-08-19, 01:16 AM)عاشق الرسول كتب : [ -> ]
(15-08-19, 03:44 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
طبعا يجب ان يكون الحقل في الجدول بقاعدة البيانات من نوغ Yes/no  اي Boolean
وهذا المثال بالوضع المنفصل فيه جملة الحفظ عبارة عن صب وفي زر الحفظ نستدعي هذا الصب وفق الباراميترات
المطلوبة تمعن الكود جيدا ثم انحو نحوه وفق الحقول التي لديك وغير الاسماء ايضا
ارجو ان اكون قد افدتك

بس أنا عايز احفظ الخانات اللي في الداتا جريد فيو اللي تم اخيارها مش حفظ التكست بوكس
بمعنى ان الداتا جريد فيو فيها بيانان وفي بيات في تكست بوكس 
مرفق صورة من الشاشة
السلام عليكم اخي الكريم
انت تحتاج الى كود حفظ  من الداتا غرايد بادخال عدة سجلات دفعة واحدة
 اذا لم تكن البيانات مخزنة سابقا 
Save
كود :
Dim Cmd As New OleDbCommand()
Private Sub Btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Save.Click
       'هنا ستقوم بتعريف هذه المتغيرات
       Dim Id As Integer
       Dim Name As String
       Dim Ghiab As Boolean
       Dim Cmd As New OleDbCommand("indert into [اسم الجدول] (Id,Name,Ghiab)Values(@Id,@Name, @Ghiab)", con) ' غير اسماء الحقول والجدول في كل الباراميترات الى ماعندك
       ' تحتاج الى هذه الفور زيادة على الحفظ العادي
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       For i As Integer = 0 To DataGridView1.Rows.Count - 1
           Id = DataGridView1.Rows(i).Cells(0).Value
           Name = DataGridView1.Rows(i).Cells(1).Value
           Ghiab = DataGridView1.Rows(i).Cells(2).Value
           Cmd.Parameters.Add(New OleDbParameter("@Id", OleDbType.Integer)).Value = Id
           Cmd.Parameters.Add(New OleDbParameter("@Name", OleDbType.VarWChar)).Value = Name
           Cmd.Parameters.Add(New OleDbParameter("@Ghiab", OleDbType.Boolean)).Value = Ghiab

           Cmd.ExecuteNonQuery()
           Cmd.Parameters.Clear()
       Next
       con.Close()
       MessageBox.Show("تم تعديل البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)

   End Sub

او كود تعديل ان كانت مخزنة

Update
كود :
Private Sub Btn_Update_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Update.Click
       'هنا ستقوم بتعريف هذه المتغيرات
       Dim Id As Integer
       Dim Name As String
       Dim Ghiab As Boolean
       Dim Cmd As New OleDbCommand("Update [اسم الجدول] Set Name=@Name,Ghiab= @Ghiab Where ID =@ID", con) ' غير اسماء الحقول والجدول في كل الباراميترات الى ماعندك
       ' تحتاج الى هذه الفور زيادة على الحفظ العادي
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       For i As Integer = 0 To DataGridView1.Rows.Count - 1
           Id = DataGridView1.Rows(i).Cells(0).Value
           Name = DataGridView1.Rows(i).Cells(1).Value
           Ghiab = DataGridView1.Rows(i).Cells(2).Value

           Cmd.Parameters.Add(New OleDbParameter("@Name", OleDbType.VarWChar)).Value = Name
           Cmd.Parameters.Add(New OleDbParameter("@Ghiab", OleDbType.Boolean)).Value = Ghiab
           Cmd.Parameters.Add(New OleDbParameter("@Id", OleDbType.Integer)).Value = Id

           Cmd.ExecuteNonQuery()
           Cmd.Parameters.Clear()
       Next
       con.Close()
       MessageBox.Show("تم تعديل البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)

   End Sub
(16-08-19, 12:36 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
انت تحتاج الى كود حفظ  من الداتا غرايد بادخال عدة سجلات دفعة واحدة
 اذا لم تكن البيانات مخزنة سابقا 
Save
كود :
Dim Cmd As New OleDbCommand()
Private Sub Btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Save.Click
       'هنا ستقوم بتعريف هذه المتغيرات
       Dim Id As Integer
       Dim Name As String
       Dim Ghiab As Boolean
       Dim Cmd As New OleDbCommand("indert into [اسم الجدول] (Id,Name,Ghiab)Values(@Id,@Name, @Ghiab)", con) ' غير اسماء الحقول والجدول في كل الباراميترات الى ماعندك
       ' تحتاج الى هذه الفور زيادة على الحفظ العادي
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       For i As Integer = 0 To DataGridView1.Rows.Count - 1
           Id = DataGridView1.Rows(i).Cells(0).Value
           Name = DataGridView1.Rows(i).Cells(1).Value
           Ghiab = DataGridView1.Rows(i).Cells(2).Value
           Cmd.Parameters.Add(New OleDbParameter("@Id", OleDbType.Integer)).Value = Id
           Cmd.Parameters.Add(New OleDbParameter("@Name", OleDbType.VarWChar)).Value = Name
           Cmd.Parameters.Add(New OleDbParameter("@Ghiab", OleDbType.Boolean)).Value = Ghiab

           Cmd.ExecuteNonQuery()
           Cmd.Parameters.Clear()
       Next
       con.Close()
       MessageBox.Show("تم تعديل البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)

   End Sub

او كود تعديل ان كانت مخزنة

Update
كود :
Private Sub Btn_Update_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Update.Click
       'هنا ستقوم بتعريف هذه المتغيرات
       Dim Id As Integer
       Dim Name As String
       Dim Ghiab As Boolean
       Dim Cmd As New OleDbCommand("Update [اسم الجدول] Set Name=@Name,Ghiab= @Ghiab Where ID =@ID", con) ' غير اسماء الحقول والجدول في كل الباراميترات الى ماعندك
       ' تحتاج الى هذه الفور زيادة على الحفظ العادي
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       For i As Integer = 0 To DataGridView1.Rows.Count - 1
           Id = DataGridView1.Rows(i).Cells(0).Value
           Name = DataGridView1.Rows(i).Cells(1).Value
           Ghiab = DataGridView1.Rows(i).Cells(2).Value

           Cmd.Parameters.Add(New OleDbParameter("@Name", OleDbType.VarWChar)).Value = Name
           Cmd.Parameters.Add(New OleDbParameter("@Ghiab", OleDbType.Boolean)).Value = Ghiab
           Cmd.Parameters.Add(New OleDbParameter("@Id", OleDbType.Integer)).Value = Id

           Cmd.ExecuteNonQuery()
           Cmd.Parameters.Clear()
       Next
       con.Close()
       MessageBox.Show("تم تعديل البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)

   End Sub

جزاكم الله خيرا كثيرا خي الحبيب
بس بيخزن داخل حقل الاسم نص System.Data.DataRowView
السلام عليكم اخي الكريم 

اليوم هو يوم الاخطاء الكتابية جعله الله يوم خير علينا
ورد في كود الحفظ كلمة (indert into ) والصواب (insert into )
ارجو منك التدقيق في الكود فجل من لايخطئ
(17-08-19, 02:38 AM)ابراهيم ايبو كتب : [ -> ]
السلام عليكم اخي الكريم 

اليوم هو يوم الاخطاء الكتابية جعله الله يوم خير علينا
ورد في كود الحفظ كلمة (indert into ) والصواب (insert into )
ارجو منك التدقيق في الكود فجل من لايخطئ

الجملة عندي INSERT INTO
السلام عليكم ورحمة الله وبركاته
تعال الى هذا السطر في جملة الفور
كود :
Name = DataGridView1.Rows(i).Cells(1).Value
وزد عليه تحوبل الى نص كونه نصي بهذا الشكل
كود :
Name = DataGridView1.Rows(i).Cells(1).Value.ToString()
(17-08-19, 12:13 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
تعال الى هذا السطر في جملة الفور
كود :
Name = DataGridView1.Rows(i).Cells(1).Value
وزد عليه تحوبل الى نص كونه نصي بهذا الشكل
كود :
Name = DataGridView1.Rows(i).Cells(1).Value.ToString()

أشكرك شكر جزيلا الأخ/  ابراهيم ايبو نجح معي لكود بالفعل
هل من الممكن تسجيل الخانات التي اختيارها فقط
الصفحات : 1 2