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

Windows phone 8 在windows phone 8应用程序的sqlite3数据库中找不到表,windows-phone-8,windows-8,sqlite,windows-phone,Windows Phone 8,Windows 8,Sqlite,Windows Phone,我正在尝试从WindowsPhone8应用程序中的Sqlite3数据库检索数据。我在项目文件夹中使用了db文件,代码如下: SQLiteConnection conn=newsqliteconnection(Path.Combine(ApplicationData.Current.LocalFolder.Path,“my1stapp.db”),true); SQLITECOMAND sqlCommand=新SQLITECOMAND(conn); sqlCommand.CommandText=“从

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

SQLiteConnection conn=newsqliteconnection(Path.Combine(ApplicationData.Current.LocalFolder.Path,“my1stapp.db”),true);
SQLITECOMAND sqlCommand=新SQLITECOMAND(conn);
sqlCommand.CommandText=“从测试表中选择*”;
List retrievedTasks=sqlCommand.ExecuteQuery();
myTextBox.Text=retrievedTasks.ToString();
但它仍然抛出异常,表示表testtable不是foud,但表确实存在。此外,数据库文件属性中的生成操作也更改为内容。想知道为什么会发生这种情况吗?

试试以下方法:

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...
        }
使用(var连接=新的SQLiteConnection(路径))
{
connection.CreateTable();
connection.CreateTable();
//更多的桌子。。。
}

你好,Samuel,我尝试使用您上面提到的代码,但问题仍然存在。我做了一些研究,似乎出于某种原因,当我调试应用程序时,它试图自己在给定的路径上创建表,并且由于它自己创建数据库,因此通过抛出异常,表不会出现在那里。如果您有任何疑问,请告诉我您的想法/输入也许我的问题听起来很明显,但您以前是否自己创建了包含表的DB文件?如果没有,请告诉我,我可以为您举个例子。是的,我自己创建了一个db文件,并复制到项目文件夹中。我以为“ApplicationData.Current.LocalFolder.Path”会指向我复制的db文件,但似乎不是这样工作的。好吧,我的建议是在流程开始时以编程方式创建db,当然,您可以检查db是否存在,在这种情况下不创建它。在我的示例中,我希望看到表示表的类。示例:请参见我的答案。