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

次の SQL ステートメントを使用して、Access にテーブルを作成するように要求しています。

create table yourTableName as (select * from Master_Sheet);

;最後に を含む)。CREATE TABLEこれは、 statementの有効な構文ではないことを示しています。これは Java の問題ではなく、Access の問題です。リンクされたCREATE TABLEドキュメントを参照してください。(最新のものをリンクしました。使用している Access のバージョンのものを必ず見つけてください。)

于 2012-10-27T14:30:41.847 に答える