【问题标题】:In C# how do I empty an existing SQLite database?在 C# 中,如何清空现有的 SQLite 数据库?
【发布时间】:2010-02-12 08:39:02
【问题描述】:

在 C# 中如何清空现有的 SQLite 数据库?
是否可以通过连接字符串?还是由 SQLite 经理?

我不想发出 drop all tables 语句。

我有这段代码,这里的new表示如果不存在就新建一个。

try
{
    connStr = @"Data Source=" + databaseFilePath + ";New=True;Version=3;";
    conn = new SQLiteConnection(connStr);
    cmd = new SQLiteCommand();
    cmd.Connection = conn;
    cmd.CommandType = CommandType.Text;
    cmd.Connection.Open();
}
catch (Exception e)
{
    MessageBox.Show("Caught exception: " + e.Message);
    addError("Caught exception: " + e.Message,true);
    return false;
}

【问题讨论】:

    标签: c# database sqlite


    【解决方案1】:

    删除保存数据库的文件。

    【讨论】:

    • 你不会失去你的结构吗?
    • @badbod99,是的,但这不是话题发起者想要的吗?
    【解决方案2】:

    由于 SQLite 不强制引用完整性,您可以迭代删除 each table 中的所有信息。

    【讨论】:

    • 也许Truncate 会比删除更好?
    • 我不想发出 drop all tables 声明。
    • 我说的是截断每个表,而不是删除所有表。
    • 这也许是一样的。如果我错了,请纠正我。在 SQLite 中没有Truncate all tables。所以我必须手动构建查询,但查询delete from sqlite_master ... 会更容易,这将删除数据库中的所有表。我追求一种轻量级的方法。
    • 这样可以,但与删除文件相比效率很低。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2011-08-10
    • 2011-06-16
    相关资源
    最近更新 更多