0

おやすみプログラマー。私は最終年度のプロジェクトを行っており、Access データベースを使用した VB.net に基づく食品注文システムを行っています。アプリケーションをデバッグするときに表示され続けるこのエラーがあります。

タイプ 'System.Data.OleDb.OleDbException' の初回例外が System.Data.dll で発生しました 追加情報: INSERT INTO ステートメントの構文エラー。

ここに私が取り組んでいるコードのコピーがあります。このコードは、管理者の詳細を入力する同様のコードに従っています。このフォームのこの特定のコードは、システムへのログインに使用される管理者の ID とパスワードを受け入れることを意図しています。

Imports System.Data.OleDb
Imports System.Configuration

Public Class adminadd2

    'must put everytime, global bro
    Dim con As New OleDbConnection

    Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click

        Dim TA As New CQFOSDataSet1TableAdapters.adminloginTableAdapter
        Dim cmd As New OleDbCommand
        Dim con As New OleDbConnection


        'Dim yourconnection As String = ConfigurationManager.ConnectionStrings("yourconnectionstring").ConnectionString

        'con = New OleDbConnection(yourconnection)

        'cmd.CommandType = CommandType.Text

        Dim connectionString As String = ConfigurationManager.ConnectionStrings("Mark1.My.MySettings.CQFOSConnectionString").ConnectionString
        con = New OleDbConnection(connectionString)

        cmd.CommandType = CommandType.Text


        cmd.CommandText = "INSERT INTO adminlogin(Username,Password) VALUES(@Username,@Password)"


        cmd.Parameters.AddWithValue("@Username", adminid.Text)
        cmd.Parameters.AddWithValue("@Password", adminpass.Text)

        cmd.Connection = con

        Dim RowsAffected As Integer
        con.Open()

        'rowaffected returns the number or row affected
        RowsAffected = cmd.ExecuteNonQuery()

        Dim selectQuery As String = "Select FROM adminlogin"
        If RowsAffected = 1 Then
            MsgBox("New Admin is saved. Login Using your credentials.", MsgBoxStyle.OkOnly, "CQFOS")
        End If
        con.Close()

        Me.Hide()
        adminaccess.Show()

    End Sub
End Class
4

3 に答える 3

1

Password予約語です。INSERTステートメント内でそれを角括弧で囲みます。

cmd.CommandText = "INSERT INTO adminlogin(Username,[Password]) VALUES(@Username,@Password)"
于 2013-07-16T13:54:17.857 に答える
1

ファースト チャンス例外とセカンド チャンス例外があります。セカンド チャンスの例外は、コードが処理しようとする例外であり、ファースト チャンスの例外はデバッガーによって "認識" されます。言い換えれば、最初のチャンスの例外は、デバッグ中にのみ問題になります。

First and Second Chance例外処理に関するMSDNドキュメントを次に示します

于 2013-07-16T13:49:54.923 に答える
0

デバッガーでアプリケーションを実行するたびに、アクセス データベースがプロジェクト ディレクトリから bin/debug ディレクトリにコピーされるため、デバッグ中に以前に入力したデータが上書きされます。

アクセス データセットの動作を [コピーしない] に設定すると、デバッグ セッションを通じてデータが保持されます。

于 2014-11-13T10:52:38.637 に答える