繁体   English   中英

INSERT INTO 语句中的 MS Access 语法错误

[英]MS Access Syntax error in INSERT INTO statement

我有一个“INSERT INTO 语句中的语法错误”。 这是一个复制代码(代码在我使用 GUI 构建器创建的 JFrame 中,仅供参考):

private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {                                            
    String InputTeam1, InputTeam2;
    Integer InputTeam1Goals, InputTeam2Goals;

    FixtureNumber = Integer.parseInt(jLabel3.getText());

    InputTeam1 = jComboBox1.getSelectedItem() + "";
    InputTeam2 = jComboBox2.getSelectedItem() + "";
    InputTeam1Goals = Integer.parseInt(jTextField2.getText());
    InputTeam2Goals = Integer.parseInt(jTextField3.getText());

    try
    {
        String filename = "Database.mdb";
        String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
        database += filename.trim() + ";DriverID=22;READONLY=false";
        conn = DriverManager.getConnection(database, "", "");

        Statement sta = conn.createStatement();
      //Line below is the INSERT statement
        int s = sta.executeUpdate("INSERT INTO tblLeagueFixtures VALUES '" + InputTeam1 + "', '" + InputTeam2 + "', '" + InputTeam1Goals + "', '" + InputTeam2Goals + "' WHERE FixtureNumber = '"+ FixtureNumber +"'");
        System.out.println("Inserted into database.");
    }
    catch (Exception e3)
    {
        System.out.println("Exception ReadPlayerStats:" + e3);
    }
}

代码的目的是从用户那里获取数据(Team1 等),然后将其插入到数据库中。 我曾尝试更改撇号,将 WHERE 放在 VALUES 等之前,但结果是一样的。 无论我是插入新数据还是更新现有数据,错误仍然存​​在。

[解决了]

int s = sta.executeUpdate("UPDATE tblLeagueFixtures SET [Team1] = '"+ InputTeam1 +"', [Team2] = '"+ InputTeam2 +"', [Team1Goals] = "+ InputTeam1Goals +", [Team2Goals] = "+ InputTeam2Goals +" WHERE [FixtureNumber] = "+ FixtureNumber);

您的INSERT命令中至少有 2 个问题。

1) 不能在INSERT INTO VALUES语句中使用WHERE子句。

2) 在INSERT INTO VALUES语句中,值必须出现在括号中。

int s = sta.executeUpdate("INSERT INTO tblLeagueFixtures VALUES ('" + InputTeam1 + "', '" + InputTeam2 + "', '" + InputTeam1Goals + "', '" + InputTeam2Goals + "')");

要更新数据,您必须使用正确的语法。 有关更多信息,请参阅

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM