-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'の構文エラー(演算子がありません)。at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)at 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 $ javax.swing.DefaultButtonModelのHandler.actionPerformed(Unknown Source)。javax.swing.DefaultButtonModelのfireActionPerformed(Unknown Source)。

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 に答える