تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطأ في كود الجمع عند الحفظ
#5
تم بفضل الله تعالى تعديل الكود وهو شغال 100٪
كود :
Private Sub Save_Grade()
    Try
        If DataGridView1.Rows.Count = 0 OrElse (DataGridView1.Rows.Count = 1 AndAlso DataGridView1.Rows(0).IsNewRow) Then
            MessageBox.Show(" عفواً ، لا توجـد بيانــات للحفظ", "تنبيــه", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
            Exit Sub
        End If

        Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\DataBase\Data_Base.accdb")
        con.Open()

        For i As Integer = 0 To DataGridView1.Rows.Count - 2
            Dim IDStudent As Integer = Val(DataGridView1.Rows(i).Cells(0).Value)
            Dim IDClas As Integer = listClas.SelectedIndices(0) + 1
            Dim ClassroomID As Integer = Combroom.SelectedIndex + 1
            Dim IDSemester As Integer = Val(CombSemester.Text)
            Dim courseIndex As Integer = CombCourses.SelectedIndex + 1

            ' قراءة TOValue من العمود الصحيح
            Dim TOValue As Integer = Val(DataGridView1.Rows(i).Cells(6).Value) ' تعديل الفهرس حسب الحاجة

            ' تحديث TO
            Dim query As String = "UPDATE TBL_Final1 SET TO" & courseIndex & "=? WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?"
            Dim command As New OleDbCommand(query, con)
            command.Parameters.AddWithValue("?", TOValue)
            command.Parameters.AddWithValue("?", IDStudent)
            command.Parameters.AddWithValue("?", IDClas)
            command.Parameters.AddWithValue("?", ClassroomID)
            command.Parameters.AddWithValue("?", IDSemester)
            command.ExecuteNonQuery()

            ' قراءة ON
            Dim ONValue As Integer = 0
            Dim cmdON As New OleDbCommand("SELECT ON" & courseIndex & " FROM TBL_Final1 WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?", con)
            cmdON.Parameters.AddWithValue("?", IDStudent)
            cmdON.Parameters.AddWithValue("?", IDClas)
            cmdON.Parameters.AddWithValue("?", ClassroomID)
            cmdON.Parameters.AddWithValue("?", IDSemester)
            Dim resultON = cmdON.ExecuteScalar()
            If Not IsDBNull(resultON) Then
                ONValue = CInt(resultON)
            End If

            ' تحديث TR
            Dim TRValue As Integer = ONValue + TOValue
            Dim cmdTR As New OleDbCommand("UPDATE TBL_Final1 SET TR" & courseIndex & "=? WHERE IDStudent=? AND IDClas=? AND ClassroomID=? AND IDSemester=?", con)
            cmdTR.Parameters.AddWithValue("?", TRValue)
            cmdTR.Parameters.AddWithValue("?", IDStudent)
            cmdTR.Parameters.AddWithValue("?", IDClas)
            cmdTR.Parameters.AddWithValue("?", ClassroomID)
            cmdTR.Parameters.AddWithValue("?", IDSemester)
            cmdTR.ExecuteNonQuery()
        Next

        con.Close()
        MsgBox("تم رصد درجات الامتحــان للصف: " & listClas.Text & vbCrLf & "لمادة: " & CombCourses.Text & " بنجاح", MsgBoxStyle.Information, "الإجــراء")
    Catch ex As Exception
        MsgBox("خطأ: " & ex.Message, MsgBoxStyle.Critical)
    End Try
End Sub
```
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: Kamil , Kamil


الردود في هذا الموضوع
RE: خطأ في كود الجمع عند الحفظ - بواسطة مصمم هاوي - 20-04-25, 04:01 AM


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


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