-4

我想添加一条新记录来访问数据库,但是 SQL 查询没有应用它,这是我添加数据的代码!!

    public void actionPerformed(ActionEvent e) {
    JButton b=(JButton)e.getSource();
    if(b==c.t.addR){
        String aa=Integer.toString(55);
        String t=c.t.titlefield.getText();
        String d=c.t.datefield.getText();
        String p=c.t.progressfield.getText();
        String pr=c.t.priorityfield.getText();
        String s="Open";
        System.out.println(t+"\t"+d+"\t"+p+"\t"+pr+"\t"+s); //error is here
        try {
            c.b.st.executeQuery("INSERT into Records (TaskID,Title,Deadline,Progress,Priority,Status) VALUES("+aa+"','"+t+"','"+d+"','"+p+"','"+pr+"','"+s+")");
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }

这是我得到的错误

java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] 查询表达式 '55'、'a'、'1'、'1'、'high'、'Open' 中的语法错误(缺少运算符)。在 sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) 在 sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) 在 sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source) 在 sun.jdbc.odbc.JdbcOdbcStatement .execute(Unknown Source) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source) at Listener.actionPerformed(Listener.java:27) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$ Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel。

4

1 回答 1

1

错误必须发生在这一行:

c.b.st.executeQuery("INSERT into Records (TaskID,Title,Deadline,Progress,Priority,Status) VALUES("+aa+"','"+t+"','"+d+"','"+p+"','"+pr+"','"+s+")");

看看它,是因为你的参数没有开始和结束的报价吗?尝试:

c.b.st.executeQuery("INSERT into Records (TaskID,Title,Deadline,Progress,Priority,Status) VALUES('"+aa+"','"+t+"','"+d+"','"+p+"','"+pr+"','"+s+"')");
于 2013-01-10T10:17:07.353 回答