SQLiteMetro Windows8 db不存储数据

时间:2012-05-28 21:59:11

标签: sqlite windows-8

我有两个问题。

  1. 如何让SQLite Db存储数据? db已创建,我可以在其FilePath位置找到db,但我从未看到任何数据。

  2. 如何更改位置以将数据保存在本地文件夹中,而不是在Users ... appdata文件夹中?

  3. 这是我的代码:

            Database db = new Database(Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path,"alpha2.db"));
      //   Database db = new Database("c:\\Projects\\alpha2.db");
    
            Statement stm;
            stm = db.PrepareStatement("CREATE TABLE IF NOT EXISTS person(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, data BLOB)");
            stm.Execute();
            stm.Dispose();
    
            stm=db.PrepareStatement("INSERT INTO person(name,age VALUES(?,?)");
            stm.BindParamText(1,"John Doe");
            stm.BindParamInt(2,35);
    
            stm.Execute();
            stm.Dispose();
    
            long insertRowId = db.LastInsertRowId;
    
            stm=db.PrepareStatement("SELECT * FROM person");
                while(stm.GetNextRow())
                {
                    int id=stm.GetIntAt(0);
                    string name=stm.GetTextAt(1);
                    textBlock1.Text=name.ToString();
    
                }
    
            stm.Dispose();
            db.Dispose();
    
    TIA,这是一个为期两天的行ban。

1 个答案:

答案 0 :(得分:0)

插入查询的语法看起来不对。它应该更像......

INSERT INTO person(name,age) VALUES(?,?)

(在年龄之后增加了一个关闭的人。)

您无法从Metro Style应用程序写入用户驱动器上的任意位置。 LocalFolder是你最好的选择。

编辑注释:在Sqlite上查看Tim's article以获取本地文件夹的语法。