【问题标题】:Where is the mistake with "INSERT INTO STATEMENT"?“INSERT INTO STATEMENT”的错误在哪里?
【发布时间】:2016-07-30 19:15:23
【问题描述】:

我有一个 Access 数据库,其中包含一个名为 user 的表。该表有两个字段,短文本类型的“用户名”和短文本类型的“用户密码”。用户名是主键!

我做了一个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 块中得到了异常!

【问题讨论】:

标签: c# winforms ms-access


【解决方案1】:

USER 是关键字。请改用 [USER]。 – 礼萨阿盖伊

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2012-07-06
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多