我是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;
}
}
任何建议都会非常有用。
答案 0 :(得分:1)
首先将Sqlite数据复制到隔离存储,然后将记录插入表中。因此,如果要查看最新的数据库,则必须在独立存储中打开文件.sqlite,而不是在项目文件夹中。