2
datagridview를 통해 데이터베이스를 업데이트하려고하는데 문제는 datagridview의 첫 번째 행만 업데이트한다는 것입니다. 어떤 통찰력이라도 감사 할 것입니다.업데이트 명령은 첫 번째 행만 업데이트합니다. vb.net
Dim Connection As New OleDbConnection(Get_Constring)
Dim dt As DataTable = New DataTable("SendTable")
Dim row As DataRow
dt.Columns.Add("ID", Type.GetType("System.Int32"))
dt.Columns.Add("Attendance", Type.GetType("System.String"))
For i = 0 To ClassRegisterdgv.Rows.Count - 1
' If ClassRegisterdgv.Rows(i).Cells(4).Value.Equals("") Then ClassRegisterdgv.Rows(i).Cells(4).Value.Equals("Present")
Dim ID As Integer = ClassRegisterdgv.Rows(i).Cells(0).Value
Dim Attendance As String = ClassRegisterdgv.Rows(i).Cells(4).Value
row = dt.Rows.Add
row.Item("ID") = ID
row.Item("Attendance") = Attendance
Next
If Connection.State = ConnectionState.Closed Then
Connection.Open()
End If
Dim sqlquery As String = "UPDATE PupilInfo SET " & NewColumnCreated & " = @Attendance WHERE ID = @ID"
Dim sqlcommand As New OleDbCommand
For Each newrow As DataRow In dt.Rows
'For i = 0 To ClassRegisterdgv.Rows.Count - 1
With sqlcommand
.CommandText = sqlquery
.Parameters.AddWithValue("@Attendance", newrow.Item(1))
.Parameters.AddWithValue("@ID", newrow.Item(0))
.Connection = Connection
MessageBox.Show(newrow.Item(1) & newrow.Item(0))
.ExecuteNonQuery()
End With
Next
Connection.Close()
ClassRegisterdgv.DataSource = Nothing
dt.Clear()
".Add"논리가 모든 "ID"를 동일하게 사용하는 것처럼 보입니까? 어쩌면 루프 밖에서 DIM을 설정 한 다음 루프 내부에서 값을 설정하겠습니까? –
@ WayneG.Dunn 당신의 도움에 감사드립니다. 그러나 나는 그것을 고칠 수있었습니다. – Jayy