我无法使用'db.update'语句。当我尝试读取数据库时,它总是读取从else语句插入的第一个数据。我已经跟踪了我的程序并且它确实到达了db.update并且传递的值是正确的但是当我读取表时值不会改变。
我正在使用Visual Studio 2013在Windows 8.1中创建一个Windows应用商店
这是我的代码
LastRead dataref = new LastRead { passID = U_pick.chapterID, chapterLastRead = U_pick.chapterNumber, passtitle = mTitle };
var dbpath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Drive.db");
using (var db = new SQLite.SQLiteConnection(dbpath))
{
try
{
var lastReadChapter = (db.Table<LastRead>().Where(c => c.passtitle == mTitle)).SingleOrDefault();
if (lastReadChapter != null)
{
lastReadChapter.chapterLastRead = U_pick.chapterNumber;
lastReadChapter.passtitle = U_pick.chapterTitle;
lastReadChapter.passID = U_pick.chapterID;
db.Update(lastReadChapter);
}
else
{
db.Insert(dataref);
}
}
catch(Exception ex)
{
//excepetion msg
}
}
答案 0 :(得分:0)
这是因为您正在通过SingleOrDefault()函数进行查询。