Java 插入到查询中不适用于一种方法,但适用于另一种方法

Java 插入到查询中不适用于一种方法,但适用于另一种方法,java,database,ms-access,Java,Database,Ms Access,我有两种方法,一种用于插入查询,另一种不用于插入查询 // this one fails public void product(String product, String quantity, String price, String date) throws SQLException { try { statement.execute("INSERT INTO product (productn,quantity,price,date)

我有两种方法,一种用于插入查询,另一种不用于插入查询

// this one fails
public void product(String product, String quantity, String price,
        String date) throws SQLException {
    try {       
        statement.execute("INSERT INTO product (productn,quantity,price,date) VALUES ('" +       product + "','" + quantity + "','" + price + "','" + date + "')");
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

// this one works
public void customer(String name, String q, String p, String pro)
        throws SQLException {
    try {
        statement.execute("INSERT INTO Customer (name,price,product,quantity) VALUES ('" + name  + "','" + q + "','" + p + "','" + pro + "')");
    } catch (Exception e) {
        System.out.println("problem in Customer insert !");
    }
}
一种工作正常的方法意味着它将数据插入表中,但另一种方法给出以下错误:

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement

您将有更多机会以这种方式执行此操作,就像您可以更好地检查值的完整性一样

private static final String insert = "INSERT INTO product (productn,quantity,price,date) VALUES ('"+?+"','"+?+"','"+?+"','"+?+"')";



statement.clearParameters();

statement.set"Type_of_the_value"(1, productn) ;

statement.set"Type_of_the_value"(2, quantity) ;

statement.set"Type_of_the_value"(3, price) ;

statement.set"Type_of_the_value"(4, date) ;

statement.executeUpdate() ;

您将有更多机会以这种方式执行此操作,就像您可以更好地检查值的完整性一样

private static final String insert = "INSERT INTO product (productn,quantity,price,date) VALUES ('"+?+"','"+?+"','"+?+"','"+?+"')";



statement.clearParameters();

statement.set"Type_of_the_value"(1, productn) ;

statement.set"Type_of_the_value"(2, quantity) ;

statement.set"Type_of_the_value"(3, price) ;

statement.set"Type_of_the_value"(4, date) ;

statement.executeUpdate() ;
试试这个:

INSERT INTO product ([productn],[quantity],[price],[date]) VALUES ('" + product + "','" + quantity + "','" + price + "','" + date + "')
让我知道它是否有效

试试这个:

INSERT INTO product ([productn],[quantity],[price],[date]) VALUES ('" + product + "','" + quantity + "','" + price + "','" + date + "')

让我知道它是否有效

请粘贴StackTrace请张贴StackTraceNot working意味着什么?你有什么例外吗?如果是,则发送stacktrace。为什么不工作?有错误消息吗?我很惊讶它们中的任何一个都能工作。无论字段的数据类型如何,您正在使用并且已经使用了所有值的文本数据类型。请粘贴stacktracePlease post StackTraceNot working意味着什么?你有什么例外吗?如果是,则发送stacktrace。为什么不工作?有错误消息吗?我很惊讶它们中的任何一个都能工作。无论字段的数据类型如何,您正在使用并且已经使用了所有值的文本数据类型。问题是您使用的是日期,这是一个保留字,因此您需要使用[]转义。问题是您使用的是日期,这是一个保留字,因此您需要使用[]转义