我想數字/文本插入表中意外的標記,但是當程序試圖插入文本,我得到的錯誤
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.2 unexpected token: EX1 required:)
UCanAccess:從空間
這裏是我的相關代碼:
try (Connection conn = DriverManager.getConnection(
"jdbc:ucanaccess://" + dbPath
+ ";newdatabaseversion=V2010"
)) {
DatabaseMetaData dmd = conn.getMetaData();
try (ResultSet rs = dmd.getTables(null, null, tableName, new String[] { "TABLE" })) {
try (Statement s = conn.createStatement()) {
ResultSet resultSet;
String tableName = "Database";
s.executeUpdate("CREATE TABLE " + tableName +" ([SUBJID]
INTEGER, [PARAMCD] TEXT, [PARAM] TEXT, [AVAL] DOUBLE)");
String s1="Text Ex1";
String s2="Text Ex2";
int a=3;
double b=2;
resultSet = s.executeQuery("SELECT * FROM " + tableName);
s.executeUpdate("INSERT INTO " + tableName
+ " (SUBJID, PARAMCD, PARAM, AVAL)"
+ " VALUES ("+ a+", " + s1 + ", " + s2 +" , " + b +")");
它看起來是空白出現時引起的錯誤。我嘗試將s1更改爲「TextEx1」,將s2更改爲「TextEx2」,這給了我net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.2 user lacks privilege or object not found: TEXTEX1
的錯誤。
在此先感謝任何人可以提供的幫助。
呼叫表'Database'是不是最好的主意。加上'Text Ex1',你需要適當的引用或參數綁定(它會更安全)。 – lad2025
正確的引用是什麼意思? – Evan
只需打印「INSERT INTO」+ tableName +「(SUBJID,PARAMCD,PARAM,AVAL)」 +「VALUES(」+ a +「,」+ s1 +「,」+ s2 +「,」+ b +「 )「' – lad2025