我正在开发Windows Phone 7应用程序,对此技术不是很熟悉。在我的应用程序中,我使用了以下链接:http://wirebear.com/blog/2010/11/12/using-sqlite-in-your-wp7-app,并按照其中的步骤进行操作。但我遇到了Application.GetResourceStream()方法的问题。在这个方法中,我使用了以下代码:
我右键点击了我的项目名称,选择属性,并找到程序集名称为“SQLiteConnectivity”。运行应用程序后,我在Application.GetResourceStream()处遇到了空引用异常错误。我也不知道在Application.GetResourceStream()方法中应该使用什么代替'component'。您能否通过提供任何代码、链接或解决方案来帮助我解决上述问题?
是的,我已经得到了答案,如答案部分所述。我通过将数据库的“生成操作”设置为“资源”,并将“复制到输出目录”设置为“始终复制”,解决了上述问题。但现在我面临着新问题。
我在app.xaml.cs中声明了以下代码:
我已经在mainpage类下面添加了一个类,如下所示。
现在当我运行我的应用程序并点击按钮时,我会在SQLClient.cs的以下函数中收到“文件已加密或不在数据库中”的错误:BindAll(ppStmt)。
Stream src = Application.GetResourceStream(
new Uri(@"/SQLiteConnectivity;component/" + dbName,
UriKind.Relative)).Stream;
我右键点击了我的项目名称,选择属性,并找到程序集名称为“SQLiteConnectivity”。运行应用程序后,我在Application.GetResourceStream()处遇到了空引用异常错误。我也不知道在Application.GetResourceStream()方法中应该使用什么代替'component'。您能否通过提供任何代码、链接或解决方案来帮助我解决上述问题?
是的,我已经得到了答案,如答案部分所述。我通过将数据库的“生成操作”设置为“资源”,并将“复制到输出目录”设置为“始终复制”,解决了上述问题。但现在我面临着新问题。
我在app.xaml.cs中声明了以下代码:
public partial class App : Application
{
public PhoneApplicationFrame RootFrame { get; private set; }
private DBHelper _db;
public DBHelper db
{
get
{
if (_db == null)
_db = new DBHelper("ExpenseManager.db");
return _db;
}
}
}
我希望你能将其翻译为中文:在我的mainpage.xaml.cs中调用它,如下所示
private void button1_Click(object sender, RoutedEventArgs e)
{
// Code runs "for real"
_customerEntries = (Application.Current as App).db.SelectObservableCollection<Category>("SELECT Category_Name FROM Category WHERE Category_ID=1");
textBox1.Text = _customerEntries.ToString();
}
我已经在mainpage类下面添加了一个类,如下所示。
public class Category
{
public int Category_ID { get; set; }
public string Category_Name { get; set; }
}
现在当我运行我的应用程序并点击按钮时,我会在SQLClient.cs的以下函数中收到“文件已加密或不在数据库中”的错误:BindAll(ppStmt)。
Sqlite3.Vdbe Prepare()
{
Sqlite3.Vdbe ppStmt=new Sqlite3.Vdbe();
if (Sqlite3.sqlite3_prepare_v2(_db, CommandText, CommandText.Length, ref ppStmt, 0) != Sqlite3.SQLITE_OK)
throw new SQLiteException(Sqlite3.sqlite3_errmsg(_db));
BindAll(ppStmt);
return ppStmt;
}
请问您能否提供任何代码或链接,以解决上述问题?如果我做错了什么,请指导我。