0

我有两个问题。

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

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

这是我的代码:

        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,这已经是两天的头疼了。

4

1 回答 1

0

插入查询的语法看起来错误。应该更像...

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

(在年龄之后添加了一个近括号。)

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

编辑评论:查看Tim关于 Sqlite 的文章,了解本地文件夹的语法。

于 2012-05-28T22:16:13.400 回答