ADOX カタログ クラスを使用して、空の Ms Access データベースを作成しようとしています。コードは (私の知る限り) 正常に動作し、データベースを生成しますが、Windows エクスプローラーからデータベースを開こうとすると、「できませんでした」 use name.accdb ; The file already in use " エラー メッセージ。ファイル ディレクトリを確認したところ、データベースを開かずに、ディレクトリに name.idb ファイルも表示されました。C# Windows フォーム アプリケーションを閉じると、name.idb が消え、データベースを開くことができます。これは、ADOX を使用してデータベースを作成するために使用したコードです。
public void CreateDatabase()
{
string databaseName = txtFileName.Text;
try
{
ADOX.Catalog cat = new ADOX.Catalog();
if (!File.Exists(databaseName + ".accdb"))
{
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\\" + databaseName + ".accdb" + ";");
cat = null;
}
cat = null;
}
catch (Exception e)
{
MessageBox.Show(e.Message, e.Source);
}
}
また、 IDispaosable インターフェイスを実装して cat オブジェクトを破棄しようとしましたが、何も変わりませんでした。この問題を修正する方法を教えてください。ユーザーは、アプリケーションによって生成された後、アプリを閉じる (強制終了) せずにデータベースを開くことができますか?
よろしく