Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个表创建表时出现语法错误_Java_Ms Access - Fatal编程技术网

Java 从另一个表创建表时出现语法错误

Java 从另一个表创建表时出现语法错误,java,ms-access,Java,Ms Access,我的代码: Statement stmt=null; String cmdstr = "create table " + tableName + " as (select * from Master_Sheet);"; try{ stmt = con.createStatement(); stmt.executeUpdate(cmdstr); } c

我的代码:

    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语句中出现语法错误。 位于sun.jdbc.odbc.JdbcOdbc.createSQLException(未知源) 位于sun.jdbc.odbc.JdbcOdbc.standardError(未知源)


请帮助,我对java编码非常陌生。

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

create table yourTableName as (select * from Master_Sheet);

(包括末尾的
)。它告诉你这不是一个有效的语法。这不是Java的东西,而是访问的东西。请参阅链接的
创建表
文档。(我链接了最新版本,请确保找到您正在使用的Access版本。)

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

SELECT INTO newTable
FROM oldTable;
因此,您的代码应重写为:

String cmdstr = "insert into table " + tableName + " From Master_Sheet;";
在java代码中使用SQL语句之前,请确保SQL语句遵循