OLEDB ドライバー (Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=dBase IV) を使用して DBF テーブルを操作しています。既存の列に主キーを作成しようとすると、問題が発生します。私はいくつかの構文のバリエーションを試しましたが、成功しませんでした。
DBF テーブルに対して OLEDB を使用して主キーを作成するための正しい構文は何ですか?
これを試して:
using (OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet..."))
using (OleDbCommand cmd = new OleDbCommand("ALTER TABLE MyTable ADD CONSTRAINT idxMyTable PRIMARY KEY (MyColumn)", cn))
{
cn.Open();
cmd.ExecuteNonQuery();
}
もちろん、インデックスがまだ存在していないことや、列の値が提案された主キーなどに現在違反していないことを確認する必要があります。