SQlite写入0而不是我的数据

时间:2014-08-08 15:29:07

标签: c# android sqlite xamarin xamarin.android

我在使用Xamarin在Android应用程序中更新sqlite数据库中的记录时遇到问题。这是表CREATE:

 CREATE TABLE [tickets] (key ntext, json ntext, last_refreshed text)

这是UPDATE语句:

 UPDATE [tickets] SET [json]=@json AND [last_refreshed] = datetime('now') WHERE [key] = @key

这是我编写数据的代码。我已经确认“data”和“key”变量中的数据是所需的数据,并且TICKET_TABLE_UPDATE常量是正在使用的常量,但出于某种原因,当我从sqlite数据库中读取记录时,有一个“在json字段中为“0”,并且last_refreshed字段尚未更新。有什么想法吗?

    public void WriteTicket(JiraTicket ticket) {
        int count = 0;
        using (SqliteCommand com = con.CreateCommand()) {
            com.CommandText = TICKET_TABLE_COUNT;
            com.Parameters.AddWithValue("@key", ticket.Key);
            count = int.Parse(com.ExecuteScalar().ToString());
        }
        using (SqliteCommand com = con.CreateCommand()) {
            if (count > 0) {
                com.CommandText = TICKET_TABLE_UPDATE;
            } else {
                com.CommandText = TICKET_TABLE_INSERT;
            }

            String data = ticket.JSON;
            String key = ticket.Key;
            com.Parameters.AddWithValue("@key", key);
            com.Parameters.AddWithValue("@json", data);
            com.ExecuteNonQuery();
        }

1 个答案:

答案 0 :(得分:0)

替换" AND"在您的更新语句中使用逗号分隔字段更新