" INSERT INTO STATEMENT"错误在哪里?

时间:2016-07-30 19:15:23

标签: c# winforms access

我有一个Access数据库,其中包含一个名为 user 的表。该表有两个字段,"用户名"短语类型和" userpassword"短文类型也是如此。用户名是主键!

我制作了一个Windows窗体应用程序Visual C#,并与数据库成功连接。

我首先在Access中运行这个sql语句,

"INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('Tom','1234')"

并正确地将记录附加到表格中。

现在,如果我尝试通过winform应用程序执行相同的sql查询,我会得到异常,它会在"中讨论 a 语法错误插入"声明

奇怪的事实是我在一周之前提交了申请并且有效。

以下是应附加记录的方法:

public void insertNewUser()
    {
        String sqlQuery = "INSERT INTO USER(USERNAME,USERPASSWORD) VALUES('malmo','1234')";
        OleDbCommand cmd = new OleDbCommand(sqlQuery, this.conn);
        int rowsAffected = 0;
        try
        {
            rowsAffected = cmd.ExecuteNonQuery();
            System.Windows.Forms.MessageBox.Show("User inserted in database successfully!", "Debug:AppDatabase:insertNewUser");
        }
        catch (System.InvalidOperationException ex)
        {
            System.Windows.Forms.MessageBox.Show("User did not inserted in database", "Debug:AppDatabase:insertNewUser");
            System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser");
        }
        catch (System.Data.OleDb.OleDbException ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message, "Debug:AppDatabase:insertNewUser");
        }
        System.Windows.Forms.MessageBox.Show(rowsAffected.ToString(), "RowsAffected");
    }

我在第二个catch区块中获得了Exception!

1 个答案:

答案 0 :(得分:1)

USER是一个关键字。请改用[USER]。 - Reza Aghaei