微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐