如何在wp中的sqlite中插入行并返回自动增量值?

时间:2013-01-24 21:08:55

标签: windows-phone-7 windows-phone-8

我有一个使用sqlite客户端的应用程序。在应用程序中我将数据插入表中,我需要Id是自动提升。无论如何要在执行中获取id? s.th喜欢sqlparameter或...

我使用以下方法获取数据,我认为rec变量保持id,但它总是rec = 1,我不知道这有什么用?

             int x= (System.Windows.Application.Current as App).db.Insert
<CsWidget>(ObjWidget, @"Insert into Tbl_Widget (Name) values(@Name");

             public int Insert<T>(T obj, string statement) where T : new()
                    {
                            Open();
                            SQLiteCommand cmd = db.CreateCommand(statement);               
                            int rec = cmd.ExecuteNonQuery(obj);
                             return rec;
                     }

2 个答案:

答案 0 :(得分:0)

尝试使用ExecuteScalar方法而不是ExecuteNonQuery。它可以这样工作,具体取决于您的SQLite包装器。如果不是插入后单独的查询是你唯一的方法。

答案 1 :(得分:0)

正如@ gleb.kudr所说,插入后的单独查询是唯一的方法。

cmd.ExecuteNonQuery();
cmd.CommandText = "SELECT LAST_INSERT_ROWID()";

object r = cmd.ExecuteScalar();

int id = 0;
int.TryParse( r.ToString(), out id );