Silverlight之Window Phone 中SqlCE应用(17)

本文介绍如何在Windows Phone应用中使用SqlCE进行数据存储,包括定义Person和Company表结构,创建数据库并进行基本的CRUD操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Window Phone 中SqlCE应用
概述
SqlCE应用用于,手机客户端存储少量数据。
1.定义两个表Person,Company
1)Person.cs
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Data.Linq.Mapping;

namespace PhoneApp1.SQLCE数据库
{
[Table]
public class Person
{
[Column(IsPrimaryKey=true,IsDbGenerated=true)]
public int Id { get; set; }

[Column]
public string Name { get; set; }
[Column]
public int Age { get; set; }
[Column]
public double Heigt { get; set; }

[Column(CanBeNull=true)]
public double Weight { get; set; }
}
}
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Data.Linq.Mapping;

namespace PhoneApp1.SQLCE数据库
{
[Table]
public class Company
{
[Column(IsPrimaryKey=true,IsDbGenerated=true)]
public int Id { get; set; }

[Column]
public string Name { get; set; }

[Column]
public string Address { get; set; }

[Column]
public bool IsTianChao { get; set; }
}
}

2.定义一个数据库MyDB.sdf,把数据库放独立存储中
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Data.Linq;

namespace PhoneApp1.SQLCE数据库
{
public class MyDataContext:DataContext
{
public MyDataContext()
: base("Data Source='isostore:/MyDB.sdf'")
{
}

public Table<Person> Persons
{
get
{
return GetTable<Person>();
}
}

public Table<Company> Companies
{
get
{
return GetTable<Company>();
}
}
}
}


3.用程序初始化创建数据库
MyDataContext dbCtx = new MyDataContext();
//dbCtx.DeleteDatabase();
//如果数据库不存在,则创建数据库
if (!dbCtx.DatabaseExists())
{
dbCtx.CreateDatabase();
}
4.应用
1)插入数据
using (MyDataContext ctx = new MyDataContext())
{
Person p1 = new Person();
p1.Age = DateTime.Now.Second;
p1.Name = Guid.NewGuid().ToString().Substring(3, 8);
p1.Heigt = 180;

ctx.Persons.InsertOnSubmit(p1);
ctx.SubmitChanges();//提交修改

//p1.Name = 30;
}
2)查询数据
using (MyDataContext ctx = new MyDataContext())
{
listBox1.ItemsSource = ctx.Persons;

//IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
//isf.IncreaseQuotaTo(//可以对独立存储控件扩容
}
3)修改数据
using (MyDataContext ctx = new MyDataContext())
{
//修改
Person p1 = ctx.Persons.First();
p1.Name = "张三";
ctx.SubmitChanges();
}
4)删除数据
using (MyDataContext ctx = new MyDataContext())
{
//删除
Person p1 = ctx.Persons.First();
ctx.Persons.DeleteOnSubmit(p1);
ctx.SubmitChanges();
}
5.总结
建表(字段),建库(放独立存储中),应用(增,删,该,查)。只能用Ling操作数据。可以看做是对文件的操作。
像操作数据库一样操作文件。切记不要把SqlCE看做成像SQL Server一样的数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值