带有 WP8 的 SQLite 让我抓狂。:(
我要做的就是检索最后插入的 id 的值...
我有:
class ShoppingItem
{
[SQLite.PrimaryKey, SQLite.AutoIncrement]
public int Id {get; set;}
public string Name {get; set;}
public string Shop {get; set;}
public bool isActive {get; set;}
}
好吧,使用的SQLiteConnection
对象和它Table<ShoppingItem>
似乎都不包含包含最后一个 ID 的适当成员。
所以我试着做:
private int GetLastInsertedRowID()
{
int Result = -1;
using (var db = new SQLiteConnection(m_DatabasePath)) {
Result = db.ExecuteScalar<int>("SELECT last_insert_rowid();");
}
return Result;
}
但是这个函数总是返回0
。:( 但是当我阅读所有条目时ShoppingItem
,它们的 ID 的值为 != 0。
所以我的问题是:如何检索最后插入的 id?
PS:更改 SQL 查询以SELECT last_insert_rowid() FROM ShoppingItem;
给出相同的结果。
PPS:在 C# 中使用 SQLite.NET 获取最后一个插入 ID等解决方案无法编译,显然使用的是旧版本的 SQLite,API 完全不同