システムテーブル(sqlite_master)をテーブル名で検索する。
あれば、そのテーブルを削除するサンプルです。
プログラミング
言語:C#
using System.Data.SQLite;
/// <summary>
/// button1クリック時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
// EXEの起動パスを取得する
string exePath = System.Windows.Forms.Application.StartupPath;
// DBフルパスを組みたてる
string dbFullPath = System.IO.Path.Combine(exePath, "test.db");
// 接続先データベースを指定する
SQLiteConnection con = new SQLiteConnection(String.Format($"Data Source = {dbFullPath}"));
try
{
// データベースと接続する
con.Open();
// SQLコマンドを宣言する
SQLiteCommand cmd = con.CreateCommand();
// sampleテーブルが存在するか確認する
cmd.CommandText = " SELECT COUNT(*) from sqlite_master " +
" WHERE type='table' AND name='sample'";
int cnt = Convert.ToInt32(cmd.ExecuteScalar());
if (cnt > 0)
{
// サンプルテーブルが存在する場合にはテーブルをドロップする
cmd.CommandText = "drop table sample";
cmd.ExecuteNonQuery();
}
}
finally
{
// データベースを切断する
con.Close();
}
}