SQLite Metro と Windows 8 を使用して "IF NOT EXISTS" テーブルを作成できません。"db" を application.local フォルダーにコピーすると、レコードを追加、編集、削除できます。データベースは作成されますが、テーブルは作成されません。外部ツールで DDL を確認したところ、正しく表示されます。
以下は私のコードです:
private void InitData()
{
ListBox1.Items.Clear();
Database db = new Database(Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "bppro.db"));
Statement stm;
stm = db.PrepareStatement("CREATE TABLE IF NOT EXISTS vitals (_id integer primary key autoincrement, creationdate text,weight text,pulse text,sys text,dia text");
stm.Execute();
stm.Dispose();
string temp = System.DateTime.Now.Ticks.ToString();
byte[] binaryData = new byte[100];
stm = db.PrepareStatement("INSERT INTO vitals (creationdate,weight,pulse) VALUES (?,?,?)");
stm.BindParamText(1, System.DateTime.Now.ToString());
stm.BindParamInt(2, 35);
stm.BindParamInt(3, 60);
stm.Execute();
stm.Dispose();
long insertedRowId = db.LastInsertRowId;
stm = db.PrepareStatement("SELECT * from vitals");
while (stm.GetNextRow())
{
string createdate=stm.GetTextAt(1);
string weight = stm.GetTextAt(2);
string pulse = stm.GetTextAt(3);
ListBox1.Items.Add(createdate.ToString()+" "+weight.ToString()+" "+pulse);
}
stm.Dispose();
}
ありがとう、助けや指針をいただければ幸いです。