15-08-19, 07:57 AM (آخر تعديل لهذه المشاركة : 15-08-19, 08:00 AM {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, 03:14 AM (آخر تعديل لهذه المشاركة : 16-08-19, 04:34 AM {2} بواسطة عاشق الرسول.)
(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