2012-08-30 89 views
1

我正在開發一個Windows風格的應用程序與c#,XAML和SQLite。目前我正面臨一個問題。我使用的是更新或儲存一些細節,但是當我嘗試使用下面的代碼windows 8 - sqlite問題 - 數據庫表值更新 - 屬性問題

StorageFolder DataFolder = await Package.Current.InstalledLocation.GetFolderAsync("data"); 
StorageFile DataFile = await DataFolder.GetFileAsync("Test.sqlite"); 

if (DataFile != null) 
{ 
    var db = new SQLite.SQLiteConnection(DataFile .Path, SQLiteOpenFlags.ReadWrite); 
    SQLiteCommand cmd = new SQLiteCommand(db); 
    cmd.CommandText = "UPDATE Test SET Value=1000 WHERE Id = 5"; 
    cmd.ExecuteNonQuery(); 
} 

但寫數據到SQLite的當程序調試和當光標來到「cmd.ExecuteNonQuery()」

類型的異常「SQLite.SQLiteException」發生在 SQLite_Sample.exe但在用戶代碼中沒有處理

附加信息:只讀如果沒有此 異常的處理程序,該程序可以繼續安全。

我想以編程方式爲此SQLite文件設置權限以進行讀寫功能。

任何人都可以指導我嗎?

+1

你打開了連接嗎?通常你必須調用db.Open(); – slfan

回答

0

我認爲問題在於你沒有打開連接。

if (DataFile != null) 
{ 
    using (var db = new SQLite.SQLiteConnection(DataFile.Path, SQLiteOpenFlags.ReadWrite)) 
    { 
     SQLiteCommand cmd = new SQLiteCommand(db); 
     cmd.CommandText = "UPDATE Test SET Value=1000 WHERE Id = 5"; 
     db.Open(); 
     cmd.ExecuteNonQuery(); 
    } 
} 

並記住要使用參數化命令。