我的代码:
Statement stmt=null;
String cmdstr = "create table " + tableName + " as (select * from Master_Sheet);";
try{
stmt = con.createStatement();
stmt.executeUpdate(cmdstr);
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try{
if(stmt != null)
stmt.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
输出:
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] CREATE TABLE语句中的语法错误。 at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) 在sun.jdbc.odbc.JdbcOdbc.standardError(未知来源)
请帮助,我是java编码的新手。
答案 0 :(得分:3)
对于Access,基于查询数据创建新表的语法是:
SELECT INTO newTable
FROM oldTable;
所以你的代码应该重写为:
String cmdstr = "insert into table " + tableName + " From Master_Sheet;";
在您的Java代码中使用它们之前,请确保您的SQL语句遵循MS Access syntax。
答案 1 :(得分:2)
您要求Access使用此SQL语句创建表:
create table yourTableName as (select * from Master_Sheet);
(包括最后的;
)。它告诉你这不是CREATE TABLE
statement的有效语法。这不是Java的东西,它是Access的东西。请参阅链接的CREATE TABLE
文档。 (我链接了最新的,请务必找到您正在使用的Access版本。)