SQLITE插入数据库问题Windows Phone C#

时间:2013-08-09 02:39:31

标签: c# sqlite windows-phone-7 windows-phone-8 windows-phone

我是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;
            }
        }

任何建议都会非常有用。

1 个答案:

答案 0 :(得分:1)

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