1

アクセス データベースに接続されている vb.net プログラムのテキスト ボックスとコンボ ボックスのデータを検証しようとしています。

以下のコードを使用しましたが、エラー メッセージが表示されます。

Private Sub cmdadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdadd.Click

  ShowAllStock.StockDataTableAdapter.Insert(Me.cboitemtype.Text, Me.TextBox2.Text, Me.cbocompany.Text, Me.TextBox3.Text, Me.TextBox4.Text)
  ShowAllStock.StockDataTableAdapter.Fill(ShowAllStock.Logins1DataSet.StockData)

  If TextBox2.Text = "" Then
    MsgBox("Please Fill In Your Name", MsgBoxStyle.Critical, "Please Fill In Your Name")
  ElseIf TextBox4.Text = "" Then
    MsgBox("Please Fill In the Total Cost Box", MsgBoxStyle.Critical, "Please Enter Cost")
  ElseIf cboitemtype.Text = "" Then
    MsgBox("Please Select Item Type", MsgBoxStyle.Critical, "Please Select Item Type")
  ElseIf cbocompany.Text = "" Then
    MsgBox("Please Select Company Delivered By", MsgBoxStyle.Critical, "Please Select Company Delivered By")
  ElseIf TextBox3.Text = "" Then
    MsgBox("Please Fill In Quantity", MsgBoxStyle.Critical, "Please Fill In Quantity")
  Else
    MsgBox("Records Added Successfully")
    cboitemtype.Text = ""
    TextBox2.Text = ""
    cbocompany.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
  End If
End Sub
4

1 に答える 1

0

あなたのコードが正しい場合、それはおそらくどれですか? 私はそれをチェックしていないのに。

それでも、データを検証する前にデータを保存しようとすると、おそらくエラーの原因は何ですか?

まず、コードの一部の行を入れ替えて、以下のようにします。エラーが発生した場合は、再度実行すると、発生したエラーで質問が更新されます。

Private Sub cmdadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdadd.Click
  '-> Try to validate the data
  If TextBox2.Text = "" Then
    MsgBox("Please Fill In Your Name", MsgBoxStyle.Critical, "Please Fill In Your Name")
  ElseIf TextBox4.Text = "" Then
    MsgBox("Please Fill In the Total Cost Box", MsgBoxStyle.Critical, "Please Enter Cost")
  ElseIf cboitemtype.Text = "" Then
    MsgBox("Please Select Item Type", MsgBoxStyle.Critical, "Please Select Item Type")
  ElseIf cbocompany.Text = "" Then
    MsgBox("Please Select Company Delivered By", MsgBoxStyle.Critical, "Please Select Company Delivered By")
  ElseIf TextBox3.Text = "" Then
    MsgBox("Please Fill In Quantity", MsgBoxStyle.Critical, "Please Fill In Quantity")
  Else
    '-> Data was found to be valid
    Try
      ShowAllStock.StockDataTableAdapter.Insert(Me.cboitemtype.Text, Me.TextBox2.Text, Me.cbocompany.Text, Me.TextBox3.Text, Me.TextBox4.Text)
      Try
        ShowAllStock.StockDataTableAdapter.Fill(ShowAllStock.Logins1DataSet.StockData)
        MsgBox("Records Added Successfully")
      Catch
        '-> Error occurred FILLING record!
      End Try
    Catch
      '-> Error occurred INSERTING record!
    End Try
    cboitemtype.Text = ""
    TextBox2.Text = ""
    cbocompany.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
  End If
End Sub

基本的に行を変更すると、最初に検証が行われ、次にのみ、データが保存されます。

于 2013-04-26T17:48:24.343 に答える