ユーザーがDataGridView
で何かを変更し、データを入力せずに最後の(新しい)行を選択すると、イベントが発生したときに最後の新しい行がデータベースに追加するもの。私はnull値のためにデータベースにそのレコードを置くことができないので、エラーが発生します。その特定の状況でこの行を除外したいので、追加するものとして扱われるべきではありません。以下は私の現在のコードです:データセットに新しい行が追加されました
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
私はMakeChangesDataSet関数でチェックして除外すべきだと思います。