簡體   English   中英

Java中的SQL語法錯誤

[英]SQL Syntax Error in Java

我正在netbeans / windows 7上使用Java開發應用程序。我試圖使用SQL使用PreparedStatement將數據插入數據庫。 這就是我的代碼;

private void addInfoActionPerformed(java.awt.event.ActionEvent evt) {                                        
    Connection conn;    
    PreparedStatement pst;
    String url = "jdbc:derby://localhost:1527/records";
    String SQL_INSERT = "INSERT INTO records"+
                "VALUES(?,?,?)";
    String name, surname, number;
    try {
        conn = DriverManager.getConnection(url, "system", "app");
        System.out.println("connected to db");
        pst = conn.prepareStatement(SQL_INSERT);
        name = nameField.getText();
        surname = surnameField.getText();
        number = numberField.getText();
        System.out.println("got data from textfields");
        pst.setString(1, name);
        pst.setString(2, surname);
        pst.setString(3, number);
        System.out.println("variables set");
        pst.executeUpdate();
        System.out.println("sql command executed");
        pst.close();
        conn.close();
    } catch (SQLException ex) {
        Logger.getLogger(addition.class.getName()).log(Level.SEVERE, null, ex);
    }

}  

但是我遇到了這樣的錯誤;

java.sql.SQLSyntaxErrorException:語法錯誤:遇到“?” 在第1行的第27列。

我的表的名稱是記錄,它有三個列,分別是: 姓名,姓氏和號碼。 從println行可以理解,該行存在問題。

pst = conn.prepareStatement(SQL_INSERT);

也許我創建了SQL_INSERT字符串和錯誤的SQL代碼。 我不知道到底是什么問題。

您在中缺少空格

String SQL_INSERT = "INSERT INTO records"+
            "VALUES(?,?,?)";

進行串聯時,它會產生"INSERT INTO recordsVALUES(?,?,?)"

更改為

String SQL_INSERT = "INSERT INTO records"+
            " VALUES(?,?,?)";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM