3

我的代码:

    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 Driver] CREATE TABLE 语句中的语法错误。在 sun.jdbc.odbc.JdbcOdbc.createSQLException(未知来源) 在 sun.jdbc.odbc.JdbcOdbc.standardError(未知来源)

请帮忙,我对java编码很陌生。

4

2 回答 2

3

对于 Access,根据查询数据创建新表的语法是:

SELECT INTO newTable
FROM oldTable;

所以你的代码应该重写为:

String cmdstr = "insert into table " + tableName + " From Master_Sheet;";

在您的 java 代码中使用它们之前,请确保您的 SQL 语句遵循MS Access 语法。

于 2012-10-27T14:33:27.413 回答
2

您要求 Access 使用以下 SQL 语句创建表:

create table yourTableName as (select * from Master_Sheet);

(包括;最后的)。它告诉您这不是CREATE TABLE语句的有效语法。这不是 Java 的东西,而是 Access 的东西。请参阅链接的CREATE TABLE文档。(我链接了最新的,一定要找到你正在使用的 Access 版本的那个。)

于 2012-10-27T14:30:41.847 回答