2013-07-30 37 views
1

我正在爲我的Windows應用商店應用使用SQLite數據庫。我在MSFT示例&博客的幫助下完成了我對數據庫使用的要求。現在我想改變/更新數據是數據庫文件..使用C#管理用於Windows Store應用的SQLite數據庫

我插入這樣的代碼..

    using (var db = new SQLite.SQLiteConnection(dbpath)) 
        { 
         db.Insert(new ItemEpub.EpubBookList() 
         { 
          BookName = file.DisplayName, 
          BookPath = file.Path, 
         } 
         ); 
         db.Commit(); 
         db.Dispose(); 
         db.Close(); 
        } 

我沒有得到語法&關於更新數據庫的任何簡單的信息表。 現在我的代碼是:

StorageFile DataFile = await ApplicationData.Current.LocalFolder.GetFileAsync("Epub.db3"); 
     using (var db = new SQLite.SQLiteConnection(dbpath)) 
     { 
      db.Update EpubBookList Set 
      string sql = UPDATE EpubBookList SET LastVisitedPage = '" + lastVisistedPageIndex + "',"; 
      db.Dispose(); 
      db.Close(); 
     } 

可能是這個代碼看起來很醜,除了這個代碼給我更新的建議的退出行中的地鐵應用

回答

1

要更新現有記錄,首先你需要通過SQL查詢[Query<T>(...)]或Get<T>(...)方法獲取該對象。然後更新對象屬性並調用Update(...)方法。

using (var db = new SQLite.SQLiteConnection(dbpath)) 
{ 
     var objPerson = db.Query<Person>("select * from dbPerson where PersonId = ?", 9); 

     /*** or ***/ 

     var objPerson = db.Get<Person>(9); // Here 9 is primary key value 

     /*** update the object ***/ 

     objPerson.FirstName = "Matt"; 
     db.Update(objPerson); 
} 

你並不需要,因爲你正在使用using調用db.Dispose(); & db.Close();

+0

謝謝你。它對我來說很清楚。你能發佈描述高級SQLite概念的博客或頁面的相關網頁鏈接嗎?這些更關於CURD操作和在數據庫中使用Keys,我對DB有些新東西。 我已經通過一些MSFT樣本。 – Kumar

+0

我腦海中沒有我想到的樣本。如果您遇到任何問題,最好在這裏發帖。 – Xyroid

+0

不,不需要樣品,..現在我沒有任何問題,我做了什麼。我想知道任何您瞭解高級Sqlite的博客。 即使我沒有得到語法**更新,刪除和選擇讚揚條件** – Kumar

相關問題