我的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;
}
}
执行绝对正常并抛出No Exception,表示更新成功。但是当我看到数据库时,我得到的是旧记录,而不是更新的记录。我通过在SQLITE浏览器中运行它来交叉验证查询,它工作正常。但是,当我浏览应用程序时,它没有。当nonQuery语句执行时,我得到1,意味着记录被更新。但不幸的是,它不是。
对此有任何帮助表示赞赏。在此先感谢...
答案 0 :(得分:0)
我没有看到提交事务代码。默认情况下,将回滚事务。
另外,你知道DatabaseSchemaUpdater课吗? Here's the sample我曾经在我的应用程序中升级数据库架构,效果很好。该文章是关于添加列,但该类具有AddTable&lt; ...&gt;方法也是如此。不要忘记阅读第2条评论。