0

MSAccessデータベースを使用してJavaでプログラムを作成しています。私のプログラムの適応

Statement s;
String[] tabinfo = {"Albara", "TBala"};
s.execute("ALTER TABLE " + tabinfo[0] + " ALTER COLUMN " + 
    tabinfo[1] + " SET DEFAULT 0 ");

私が得るのはSqlException: ALTER TABLE syntax errorです。私が間違っているのは何ですか?私はファイルの完全な権利を持っています。テーブルと列の名前は、名前がデータベースメタデータから抽出されており、システムテーブルを変更していないため、正しいものです。

これは、数年前に作成したプログラムで使用されている自分のデータベースを変更するプログラムであるため、データベースを変更することは問題外です。また、Javaの使用も問題外です。クライアントのコンピューターは、.Net Framework 3.5をインストールせず、インフォマティクスのメンテナンスを行うためにそこに行くことはありません。

4

1 に答える 1

1

ALTER TABLEそのクエリは、MSDN ALTER TABLE ステートメント (Microsoft Access SQL)で指定されている MS Accessの構文に準拠していません。

他のソースは、デフォルトを設定するときにデータ型を含める必要があることを示しているようです。

ALTER TABLE <tableName> ALTER COLUMN <columnName> <columnType> DEFAULT <defaultValue>

(また、含まれていないことに注意してくださいSET)

この SO の質問は、これを使用できるようにするために SQL Server 構文の互換性を有効にする必要があることを示しているようです: SQL to add column with default value - Access 2003

于 2012-06-07T18:01:55.170 に答える