Java UCanAccess-不需要的美元符号
当我把数据放到MSAccess上时,它会在前面加上美元符号。这是我的相关代码:Java UCanAccess-不需要的美元符号,java,ms-access,ucanaccess,Java,Ms Access,Ucanaccess,当我把数据放到MSAccess上时,它会在前面加上美元符号。这是我的相关代码: try (Connection conn = DriverManager.getConnection( "jdbc:ucanaccess://" + dbPath + ";newdatabaseversion=V2010" )) { DatabaseMetaData dmd = conn.getMetaData(); try (ResultSet rs = d
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()) {
s.executeUpdate("CREATE TABLE " + tableName +" (Row COUNTER PRIMARY KEY, aColumn NUMBER , bColumn NUMBER)");
System.out.println("Table " + tableName + " created.");
}
}
conn.close();
}
}
catch (Exception f){
f.printStackTrace();
}
...
try{
statement.execute("DISABLE AUTOINCREMENT ON " + tableName );
statement.executeUpdate("INSERT INTO " + tableName
+ " ( Row, aColumn, bColumn)"
+ " VALUES ( "+(i+1)+", "+a+", "+b+")");
System.out.println("row " + i);
}
catch (Exception f ){
f.printStackTrace();
}
当我输入1
、2
、3
和4
作为我的值时,图形显示以下内容:
非常感谢您提供任何关于这一点的建议。
NUMBER
在UCanAccess中,DDL映射到Access中的货币
字段类型,而在Access UI中,默认的“NUMBER”类型为“Long Integer”。如果您想创建一个长整型列,那么请使用DDL关键字long
我希望您不会从用户InputI-do获取表名,这是一个问题吗?用户可以通过它来操作SQL语句。例如,通过该输入,我可以执行DROP数据库语句。那么我应该如何创建一个表呢?使用PreparedStatements。基本查询(用于创建PreparedStatement的查询)不应包含任何变量。对于要使用的每个变量,都应该在查询中放置一个?
,并通过PreparedStatement.set_u_;(int,__;)
设置值。不幸的是,您只能对值(例如INSERT、UPDATE、WHERE子句)使用占位符,而不能对表名或列名使用占位符。看看这个: