사용자가 DataGridView
에서 무언가를 수정하고 데이터를 입력하지 않고 마지막 행을 선택하면 이벤트가 발생하면이 마지막 행이 포함됩니다. 데이터베이스에 추가 할 항목. 그런 다음 null 값 때문에 데이터베이스에 레코드를 저장할 수 없기 때문에 오류가 발생합니다. 이 특정 상황에서이 행을 제외시키고 싶습니다. 추가 할 행으로 취급해서는 안됩니다. 내가 확인하고 MakeChangesDataSet 기능에서 제외해야한다고 생각데이터 집합에 새 행이 변경되었습니다.
For Each row As DataGridViewRow In Grid.Rows
If Not row.IsNewRow Then
Dim cellValue As String = String.Empty
For i = 1 To row.Cells.Count - 1
cellValue = row.Cells(i).Value.ToString
If String.IsNullOrEmpty(cellValue) Then
MsgBox("All fields has to be filled out")
Exit Sub
End If
Next
End If
Next
marke.MakeChangesDS()
Public Sub MakeChangesDataSet() Implements IDAL.MakeChangesDataSet
If Not GetGeschaftDataSet.HasChanges Then
MessageBox.Show("No changes to be done", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Else
Dim i As Integer
Try
Using MyConnection = New SqlConnection(strcon)
Using cmd As New SqlCommand("SELECT * FROM T_Marke", MyConnection)
MyConnection.Open()
' Create a data adapter in the method and throw it away afterwards
Using GetProjectsDataAdapter = New SqlDataAdapter(cmd)
Dim cmdbuilder As New SqlCommandBuilder(GetProjectsDataAdapter)
i = GetProjectsDataAdapter.Update(GetGeschaftDataSet, "trial1")
End Using
End Using
End Using
MessageBox.Show("Updated" & i & " marks", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
: 다음은 내 현재 코드입니다.