1

我是 WP 开发的新手,但我有兴趣学习。

当我尝试将数据插入我的 SQLITE 数据库时,我遇到了一个小问题。奇怪的是当我输入数据时没有问题,也没有抛出异常。

当我尝试关闭我的应用程序并从模拟器再次打开它时,数据正在显示,但是当我从 Sqlite 管理器 firefox 插件打开我的 database.sqlite 时,数据不存在。桌子还是空的。

请帮帮我。

private void btnAddExpense_Click(object sender, RoutedEventArgs e)
        {
            DateTime datenow = DateTime.Now;
            String format = "yyyy-MM-dd HH:mm:ss";
            String d = datenow.ToString(format);

            String formatid = "yyyyMMddHHmmss";
            String id = datenow.ToString(formatid);

            int rec;
            String strInsert = " Insert into Expense (date,id_category,nominal,detail,icon) values (@date,@id_category,@nominal,@detail,@icon)";


            Expense tst = new Expense
                {
                    date = d,
                    id_category = cat,
                    nominal = amount.Text,
                    detail = detail_txt.Text,
                    icon = iconUrl,
                };
                rec = (Application.Current as App).db.Insert<Expense>(tst, strInsert);
                if (rec == 1)
                    MessageBox.Show("Row inserted!");
                else
                    MessageBox.Show("Row NOT inserted.");
        }

我使用 Dbhelper.cs 插入数据

public int Insert<T>(T obj, string statement) where T : new()
        {
            try
            {
                Open();
                SQLiteCommand cmd = db.CreateCommand(statement);
                int rec = cmd.ExecuteNonQuery(obj);

                return rec;

            }
            catch (SQLiteException ex)
            {
                System.Diagnostics.Debug.WriteLine("Insert failed: " + ex.Message);
                throw ex;
            }
        }

任何建议都会非常有帮助。

4

1 回答 1

1

Sqlite 数据首先复制到隔离存储,然后将记录插入到表中。因此,如果您想查看最新的数据库,您必须在隔离存储中打开文件 .sqlite,而不是在项目文件夹中。

于 2013-10-15T07:47:37.603 回答