0

-edit- 没关系,我在选择语句中犯了一个错误。更新工作正常。

我不知道为什么,但我的 sqlite 数据库没有更新。我可以看到这个查询为受影响的表返回 1,但是当我关闭我的应用程序或运行某个选择语句时,就好像这个更新从未发生过一样。2注。1)我的插入工作正常,2)我的代码中没有交易。

void update(long pid, RetType dlStatus, Type type)
{
    command.CommandText = "UPDATE table SET dlStatus=@dlStatus, type=@type WHERE pid=@pid;";
    command.Parameters.Add("@dlStatus", System.Data.DbType.Int64).Value = dlStatus;
    command.Parameters.Add("@type", System.Data.DbType.Int64).Value = type;
    command.Parameters.Add("@pid", System.Data.DbType.Int64).Value = pid;
    int v = command.ExecuteNonQuery(); //v==1 so....
    v++;
}
4

1 回答 1

2

如果默认情况下关闭自动提交,您将不会看到 UPDATE 出现。

SQL Lite 网站说它默认是打开的。

http://www.sqlite.org/c3ref/get_autocommit.html

你的表被命名为“表”?我想使用关键字可能会有问题。您是否在其他查询中引用它?

http://www.sqlite.org/lang_keywords.html

于 2009-09-07T16:06:47.823 回答