私は窓の電話7アプリケーションを開発しています。私はウィンドウの電話7アプリケーションに新しいです。私はApplication.GetResourceStream()メソッドが初めてです。私は自分のアプリケーションで次のリンクを使用しています。Windows Phone 7でSQLiteデータベースを使用するには?
http://wirebear.com/blog/2010/11/12/using-sqlite-in-your-wp7-app
私は、上記のリンクで説明する手順を以下しています。私はApplication.GetResourceStream()メソッドで問題に直面しています。私は次のコード
Stream src = Application.GetResourceStream(
new Uri(@"/SQLiteConnectivity;component/" + dbName,
UriKind.Relative)).Stream;
を使用しています上記の方法では、私は右の私のプロジェクト名&が&プロパティを選択しクリックした「SQLiteConnectivity」とアセンブリ名を見つけました。アプリケーションを実行すると、Application.GetResourceStream()でnull参照例外エラーが発生します。私はまた、Application.GetResourceStream()メソッドで 'component'の代わりに何を使うべきかを知らない。上記の問題を解決するためのコードやリンク、または他のソリューションを教えてください。
はい私は答えのセクションで説明したように答えを得ました。上記の問題を解決するには、私のデータベースのプロパティで 'Build Action'を 'Resource' & 'Copy to Output Directory'として 'Copy always'と設定してください。しかし、私は今
が、私は私の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;
}
}
}
に次のコードを宣言している新たな問題に直面して
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.xaml.csでそれを呼び出しています
私は自分のアプリケーションシートを実行すると
public class Category
{
public int Category_ID { get; set; }
public string Category_Name { get; set; }
}
を次のように私はメインページクラス以下に1つのクラスを追加しましたBindAll(ppStmt)のSQLClient.csの次の関数で 'ファイルが暗号化されているかデータベースにありません'というエラーが表示されます。
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;
}
上記の問題を解決するためのコードまたはリンクを教えてください。私が何か悪いことをしているなら、私を案内してください。
ハイテクShaileshは、あなたがこの問題を解決することができましたか?私は同じ問題に直面している。興味深いのは、サンプルプログラムでは、ファイル名 "Database.db"が添付されています。このファイルを削除すると、サンプルプログラムは私が直面しているのと同じ問題を引き起こします。 http://sviluppomobile.blogspot.com/2010/03/sqlite-for-wp-7-series-proof-of-concept.html – iamMobile