WP8'li SQLite beni deli ediyor.WP8/C#/SQLite: son eklenen kimliği aldınız mı?
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;}
}
Eh, ne SQLiteConnection
nesne kullanılır ne de Table<ShoppingItem>
: :(
yapmak istediğim tüm son eklenen id değerini almak için ...
bende geçen kimliği içeren uygun bir üyeyi ihtiva ettiği görülmektedir
yüzden yapmaya çalıştım.private int GetLastInsertedRowID()
{
int Result = -1;
using (var db = new SQLiteConnection(m_DatabasePath)) {
Result = db.ExecuteScalar<int>("SELECT last_insert_rowid();");
}
return Result;
}
Ancak bu işlev her zaman 0
değerini döndürür. Ben ShoppingItem
tüm girdileri okurken :( Fakat, onların kimlikleri değerlere sahip = 0.
Yani benim soru:! Ben son eklenen kimliği Retreive nasıl
Not:? SQL sorgusu değiştirme için SELECT last_insert_rowid() FROM ShoppingItem;
aynı sonucu verdi
PPS:. Getting the Last Insert ID with SQLite.NET in C# gibi çözümler görünüşte kullanılan eski bir sürümü SQLite tamamen farklı API
db.ExecuteScalar olan ("() LAST_INSERT_ROWID SEÇ"); Çalışma? (Yok; sorgunun sonunda) –
Joel
no, noktalı virgülle veya noktalı virgülle aynı sonuç yok :( –
pk sütunu'nuz için farklı bir ad seçmenizi öneririm 'Id'. Kimlik gibi bir şey olup olmadığını bilmiyorum iç anahtar kelime. Ama ben sadece burada tahmin ediyorum. – Joel