none
windowsフォーム上から任意のデータベースを削除する方法について RRS feed

  • 質問

  • <使用環境>

    windowsXP

    VB2005 EE

     

    データベースを新規作成することは可能なのですが、削除する方法が分かりません。例えば、フォーム上のテキストボックスに入力されたディレクトリ先(フルパス)のデータベースを削除するにはどうすれば良いのでしょうか?

    作成時にはADOXを利用しているのですが、削除も同様なのでしょうか?また、DROP DATABASEを使用すれば良いということですが、いまいちよく分かりません。

    よろしくお願いします。

    2007年5月9日 0:40

すべての返信

  •  みやり さんからの引用
    データベースを新規作成することは可能なのですが、削除する方法が分かりません。例えば、フォーム上のテキストボックスに入力されたディレクトリ先(フルパス)のデータベースを削除するにはどうすれば良いのでしょうか?作成時にはADOXを利用しているのですが、削除も同様なのでしょうか?また、DROP DATABASEを使用すれば良いということですが、いまいちよく分かりません。よろしくお願いします。

    "DROP DATABASE" ならば、その SQL コマンドを流せば良いです。
    mdb ならば System.Data.OleDb.OleDbCommand クラスの ExecuteNonQuery メソッドから実行できます。
    2007年5月9日 1:02
  •     Sub 削除()
            Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ListBox1.SelectedItem)
            Cn.Open()
            Dim command As New OleDb.OleDbCommand("DROP DATABASE", Cn)
            command.ExecuteNonQuery()

        End Sub

     

    ※ListBox1.SelectedItemは、C:\DataBase_sekisan\MyDataBase\H11年度\任意のデータベース名.mdb

     

    上記のようにして、実行してみたのですが、DROP TABLE または DROP INDEX ステートメントの構文エラーです。と表示されてしまいます。コマンドは良いと思うのですが、何か不足の部分があるのでしょうか?

    2007年5月9日 1:45
  • あ、ちがうw すごいウソを教えてしまいました。すみません。

    mdb は DATABASE そのものが mdb ファイルの単位になりますから、DROP DATABASE なんてできませんね。
    ファイルそのものを削除することが、すなわち DROP DATABASE にあたると思います。

    それともやりたいことは、DROP TABLE (テーブルの削除) でしょうか?
    2007年5月9日 7:29
  • >例えば、フォーム上のテキストボックスに入力されたディレクトリ先(フルパス)のデータベースを削除するにはどうすれば良いのでしょうか?

     

    とあるので、Access のデータベースファイルを削除したいということなんでしょうね。

    ファイルの削除は、

     

    System.IO.File.Delete(@"c:\hogehoge\hogehoge.mdb");

     

    とすればよいだけです。

    2007年5月10日 3:02