Silverlight:电话数据库项目 [英] Silverlight: Phone Database Project
问题描述
大家好,
我正在使用以下代码创建数据库:
(名称是常量字符串)
Hi everyone,
I am creating a database using the following code:
(name is constant string)
using SilverlightPhoneDatabase;
Database DB;
const string name = "MyDatabase";
private void CreateDBTest()
{
if (Database.DoesDatabaseExists(name) == false)
{
if (Database.CreateDatabase(name) != null)
{
DB = Database.CreateDatabase(name);
DB.Save();
}
}
else
{
tbDbExists.Text = "DB Already Exists...";
}
}
然后创建一个表格-
and then I create a table -
private void CreateTableTest()
{
DB = Database.OpenDatabase(name);
DB.CreateTable<person>();
if (DB.Table<person>() != null)
{
DB.Table<person>().Add(NewPerson());
if (DB.Table<person>().Count == 1)
{
tbTableCreated.Text = "Table Created...";
}
}
else
{
tbTableCreated.Text = "Table Not Created...";
}
}</person></person></person></person>
其中Person是具有FirstName,LastName等属性的类.
NewPerson是一个功能-
where Person is a class with properties like FirstName, LastName etc.
and NewPerson is a function -
private Person NewPerson()
{
return new Person()
{
FirstName = "John", LastName = "Doe",
Salary = 100
};
}
现在,当我创建数据库时,它会保留,并且每次我尝试使用相同的名称创建数据库时,都会说该数据库已经存在.可以,但是当我一次创建表时,它不会在下一次持久化.我该怎么办?
谢谢.
Now when I create the database, it persists, and each time I try to create the database with same name, it says that it already exists. This is OK but when I create the table once, it doesn''t persist for the next time. What should I do?
Thanks.
推荐答案
相同的问题.您缺少DB.Save().
Same problem. You are missing DB.Save().
好 我明白了
我已经在CreateTableTest()中添加了DB.Save()
现在我的表是持久的.
但是现在我又遇到了另一个问题
它不是要删除行-
Ok i got it
I''ve added DB.Save()in CreateTableTest()
and now my table is persistent.
But now i''ve another problem
that it is not deleting rows -
private void DeleteRecord()
{
DB = Database.OpenDatabase(name);
var query = (from onePerson in DB.Table<person>()
where onePerson.Salary == 100
select onePerson);
DB.Table<person>().Remove(query.ElementAt(0));
}</person></person>
我也尝试过-
also i''ve tried -
DB.Table<person>().RemoveRange((person) => { return (person.Salary >= 1); });</person>
没有给出任何错误,
但是当我检查时,没有行被删除....
not giving any error,
but when i check, no row is deleted....
这篇关于Silverlight:电话数据库项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!