在Windows Phone 8应用程序中的sqlite3数据库中找不到表

时间:2014-03-22 03:06:38

标签: windows-phone-8 windows-8 sqlite windows-phone

我正在尝试从Windows Phone 8应用程序中的Sqlite3数据库中检索数据。我在项目文件夹中使用了db文件,以下是代码:

SQLiteConnection conn = new SQLiteConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "my1stapp.db"), true);

SQLiteCommand sqlCommand = new SQLiteCommand(conn);
sqlCommand.CommandText = "select * from testtable";
List<Task> retrievedTasks = sqlCommand.ExecuteQuery<Task>();
myTextBox.Text = retrievedTasks.ToString();

但是它仍然抛出异常说表测试表没有foud,但表确实存在。此外,db文件属性中的构建操作也更改为content。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

SQLiteConnection conn = new SQLiteConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "my1stapp.db"), true);
Statement st = SQLite3.Prepare2(conn.Handle, "select * from testtable");
var result = SQLite3.Step(st);
//Check the result value (Row / Done / etc.)
SQLite3.Finalize(st);
conn.Dispose();

您可以在应用/流程的开头创建数据库:

using (var connection = new SQLiteConnection(path))
        {
            connection.CreateTable<Table1>();
            connection.CreateTable<Table2>();
            //more tables...
        }