1

我的 Windows Phone 7.1 项目中有一个现有的 sqlite 数据库。我能够对数据库执行选择查询......但我无法对数据库中的表执行插入或更新查询。例如,我运行以下命令:

//Update operation
    public void Update<T>(string statement) where T : new()
    {
        try
        {
            Open();
            SQLiteCommand cmd = db.CreateCommand(statement);
            int i = cmd.ExecuteNonQuery();

        }
        catch (SQLiteException ex)
        {
            System.Diagnostics.Debug.WriteLine("updation failed: " + ex.Message);
            throw ex;
        }
}

这执行得非常好并且没有抛出异常,表明更新成功。但是当我看到数据库时,我得到的是旧记录而不是更新的记录。我已经通过在 SQLITE 浏览器中运行它来交叉验证查询,它工作正常。但是当我运行该应用程序时,它没有。执行 nonQuery 语句时我得到 1,这意味着记录已更新。但不幸的是,事实并非如此。

对此的任何帮助表示赞赏。提前致谢...

4

1 回答 1

0

我没有看到提交事务代码。默认情况下,事务会回滚。

另外,您知道DatabaseSchemaUpdater类吗?这是我用来在我的应用程序中升级数据库模式的示例,效果很好。这篇文章是关于添加列的,但是该类也有 AddTable<…> 方法。不要忘记阅读第二条评论。

于 2012-11-16T23:50:15.397 回答