Silverlight实用窍门系列:74.Silverlight使用Perst数据库Demo

Silverlight实用窍门系列:74.Silverlight使用Perst数据库Demo,第1张

概述  Perst是一个简单、快速、便捷的面向Java和.Net的数据库。它可以直接将.net对象存储,在Silverlight不需要web service的方式进行读写,而是直接读写。   本文将编写一个实例进行perst的 *** 作,下载一个PerstSilverlight.dll,然后引用它。   首先:在App.xaml.cs中Application_Startup()中建立Perst数据库的实例,

  Perst是一个简单、快速、便捷的面向Java和.Net的数据库。它可以直接将.net对象存储,在Silverlight不需要web service的方式进行读写,而是直接读写。

  本文将编写一个实例进行perst的 *** 作,下载一个PerstSilverlight.dll,然后引用它。

  首先:在App.xaml.cs中Application_Startup()中建立Perst数据库的实例,在Application.Exit()中关闭Perst数据库。

        private voID Application_Startup(object sender,StartupEventArgs e)        {            //应用程序开启时打开数据库            Storage instanse = StorageFactory.Instance.CreateStorage();            //初始化数据库文件为1M            instanse.SetProperty("perst.file.extension.quantum",1024 * 1024);            //数据库大小不够时,每次增加512K            instanse.SetProperty("perst.extension.quantum",512 * 1024);            instanse.Open("SLDemo.dbs");            db = new Database(instanse);            this.RootVisual = new MainPage();        }        private voID Application_Exit(object sender,EventArgs e)        {            //应用程序关闭时关闭数据库连接            db.Storage.Close();        }

  其次:建立一个实体类继承于Persistent,定义为索引的字段必须设置为Public。

    /// <summary>    /// 城市类    /// </summary>    public class City : Persistent    {        //定义为索引        [FullTextIndexable]        public string _Cityname;        /// <summary>        /// 城市名称        /// </summary>        public string Cityname        {            get { return _Cityname; }            set { _Cityname = value; }        }        [FullTextIndexable]        public string _CityNum;        /// <summary>        /// 城市电话区号        /// </summary>        public string CityNum        {            get { return _CityNum; }            set { _CityNum = value; }        }        public overrIDe voID OnLoad()        {            base.OnLoad();        }        //删除        public overrIDe voID Deallocate()        {            base.Deallocate();        }    }

  再次:实现前台界面的事件,并实现它。

    public partial class MainPage : UserControl    {        public MainPage()        {            InitializeComponent();        }        private voID GetNum_1(object sender,RoutedEventArgs e)        {            BindCity();        }        /// <summary>        /// 绑定所有的城市,并且按照CityNum排序        /// </summary>        private voID BindCity()        {            List<City> List = App.db.Select<City>("order by CityNum").ToList();            this.dgrID.ItemsSource = List;        }        /// <summary>        /// 查找到021号码的区号对象并且删除        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private voID DeleteNum_2(object sender,RoutedEventArgs e)        {            City city = App.db.Select<City>("CityNum='021'").FirstOrDefault();            city.Deallocate();            App.db.Storage.Commit();            BindCity();        }        /// <summary>        /// 查找到020区号的对象进行修改        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private voID EditNum_4(object sender,RoutedEventArgs e)        {            City city = App.db.Select<City>("CityNum='020'").FirstOrDefault();            city.Cityname = "上海市";            city.Store();            App.db.UpdateFullTextIndex(city);            BindCity();        }        /// <summary>        /// 添加数据        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private voID AddNum_3(object sender,RoutedEventArgs e)        {            App.db.AddRecord(new City() { Cityname = "广州",CityNum = "021" });            App.db.AddRecord(new City() { Cityname = "北京",CityNum = "010" });            App.db.AddRecord(new City() { Cityname = "上海",CityNum = "020" });            App.db.AddRecord(new City() { Cityname = "成都",CityNum = "028" });            App.db.Storage.Commit();        }    }

  最后我们来看前台界面Xaml如下:

    <GrID x:name="LayoutRoot" Background="White">        <sdk:DataGrID name="dgrID" HorizontalAlignment="left" Height="181"                 margin="10,80,0" VerticalAlignment="top" WIDth="338"/>        <button Content="增加数据" HorizontalAlignment="left" margin="42,10,0"                VerticalAlignment="top" WIDth="75" Click="AddNum_3"/>        <button Content="获取值" HorizontalAlignment="left" margin="160,0"                VerticalAlignment="top" WIDth="75" Click="GetNum_1"/>        <button Content="修改值" HorizontalAlignment="left" margin="42,48,0"                VerticalAlignment="top" WIDth="75" Click="EditNum_4"/>        <button Content="删除值" HorizontalAlignment="left" margin="160,0"                VerticalAlignment="top" WIDth="75" Click="DeleteNum_2"/>    </GrID>

  下面是效果图片,如需源码请点击 SLPerstDemo.rar 下载。

总结

以上是内存溢出为你收集整理的Silverlight实用窍门系列:74.Silverlight使用Perst数据库Demo全部内容,希望文章能够帮你解决Silverlight实用窍门系列:74.Silverlight使用Perst数据库Demo所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1064996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存