我是ucanaccess的新手。我正在开发一个java swing应用程序,我使用MS Access 2016来存储我的DB。我正在尝试将值插入到我的表中。我正在使用sql的插入查询。一切似乎都是正确的,但后来我得到错误,说参数标记不被允许(我认为它指的是"?"我曾经将变量传递给我的查询)。
以下是数据库代码:
public static void updateDB(String NOBOOKS, java.util.Date DOI, java.util.Date DOR){
try{
Connection on = DriverManager.getConnection("jdbc:ucanaccess://Database/UserDetails.accdb");
Statement stmt = on.createStatement();
String sql = "SELECT * FROM Member";
System.out.println(Uid);
ResultSet result = stmt.executeQuery(sql);
System.out.println(DOR);
while(result.next()){
if(Uid.equals(result.getString("ID"))){
String N = NOBOOKS;
Date I = new Date(DOI.getTime());
Date R = new Date(DOR.getTime());
String sqlUpdate = "INSERT INTO Member (Issues,DOI,DOR) VALUES (?,?,?)";
PreparedStatement values = on.prepareStatement(sqlUpdate);
System.out.println("The DOI is "+ DOI);
System.out.println("The I is "+ I);
System.out.println("The DOR is "+ DOR);
System.out.println("The R is "+R);
values.setString(1, N);
values.setDate(2, I);
values.setDate(3, R);
stmt.executeUpdate(sqlUpdate);
}
}
} catch (Exception se) {
System.out.print(se);
}
}
这是我得到的输出。
2
Tue Sep 20 00:00:00 IST 2016
The DOI is Mon Sep 05 00:00:00 IST 2016
The I is 2016-09-05
The DOR is Tue Sep 20 00:00:00 IST 2016
The R is 2016-09-20
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.6 parameter marker not allowedBUILD SUCCESSFUL (total time: 25 seconds)