0
私はちょうど私が働いている小さなプロジェクトに新しい追加をテストしています。私はそれにデータグリッドビューとデータの行を削除するオプションを持つフォームがあります。ラベルのテキストをその行の列に変更するためのコードがあります。削除ボタンは、ラベルが変更されているかどうかを確認し、SQLステートメントを実行してレコードを削除するかどうかを確認します。しかし、私の問題は、私が[いいえ]メッセージボックスを削除する確認で選択した場合でもIFステートメントはレコードを削除するコードを実行します。vb.net別のIFステートメントで囲まれたIFステートメントは、trueを返し、条件がfalseを指しても 'false'コードを実行しません。
私が使用しているコードはありますが、私はこれを行うためのより良い方法がたくさんあると思いますが、建設的な批判が受け入れられるように、より多くのアプリケーションを開発する際に学びます。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New OleDb.OleDbConnection
con.ConnectionString = My.Settings.databaseConnectionString
If idToDel.Text = "No Reservation Selected" Then
MsgBox("Please ensure a reservation is selected", MsgBoxStyle.OkOnly)
Else
MsgBox("Confirm the deletion of the reservation: " & idToDel.Text, MsgBoxStyle.YesNo)
If DialogResult.Yes Then
Try
Dim comm As String = "DELETE FROM Reservations WHERE [Customer Name]='" & idToDel.Text + "'"
Dim sqlComm As New OleDb.OleDbCommand(comm, con)
con.Open()
sqlComm.ExecuteNonQuery()
MsgBox("Successfully deleted the reservation: " & idToDel.Text)
con.Close()
Me.ReservationsTableAdapter.Update(Me.HotelDataSet.Reservations)
Me.ReservationsTableAdapter.Fill(Me.HotelDataSet.Reservations)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
ElseIf DialogResult.No Then
Me.Close()
End If
End If
End Sub
**この回答に加えて:** 'DialogResult.Yes'が原因それは文は常にと評価されます0よりも大きいことにちょうど列挙、数であり、 「真」。だから 'DialogResult.Yes Then'は' If 6 Then'と同じです。 –
@VisualVincentを編集していただきありがとうございます:) –