SQLite CreateTable<>已存在的数据库已被替换

时间:2013-07-11 02:39:07

标签: sqlite

通过调用CreateTable<>方法替换已存在的数据库在SQLite for Windows 8中,擦除所有行并创建新表。我怎么解决?以下代码进行分析:

using(var db = new SQLite.SQLiteConnection(App.DBPath))
        {

            db.CreateTable<ListasEntid>();

            if (db.ExecuteScalar<int>("select count(1) from ListasEntid")==0)
            {
                db.RunInTransaction(() =>
                {
                    db.Insert(new ListasEntid() { Nome = "Lista", Eletros = "Teste" });
                });

            }
        }

2 个答案:

答案 0 :(得分:2)

不确定您使用的是哪种语言,但如果您可以执行原始SQL,则可以使用以下语法:

CREATE TABLE IF NOT EXISTS ListasEntid (nome text, eletros text);

这可以确保表ListasEntid存在而不会破坏您之前的任何数据。

答案 1 :(得分:0)

感谢您的关注,但问题不是具体的CreateTable方法,而是在应用程序属性的应用程序配置中,Debug选项卡,在选项启动框中标记为“Unistall然后重新安装我的packege”,擦除所有文件始终初始化调试。