首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

Silverlight之Window Phone 中SqlCE运用(17)

2012-08-03 
Silverlight之Window Phone 中SqlCE应用(17)Window Phone 中SqlCE应用概述SqlCE应用用于,手机客户端存储少

Silverlight之Window Phone 中SqlCE应用(17)

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一样的数据库。

热点排行