成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows Phone 7 Perst嵌入式數據庫的學習

數據庫 其他數據庫
WP7只有本地存儲,自身是不帶數據庫存儲的,所以想要在WP7上使用數據庫只能通過使用第三方的嵌入式數據庫。

WP7只有本地存儲,自身是不帶數據庫存儲的,所以想要在WP7上使用數據庫只能通過使用第三方的嵌入式數據庫。Perst 是一個簡單,快速,便捷,面向對象適合Java與.NET的數據庫,它在嵌入式數據庫領域是鼎鼎有名的,并且其代碼是開源的,我們可以在它的官方網站上下載該數據庫的所有的代碼。

官方網站www.mcobject.com/perst_eval

下面是Perst數據庫在Windows Phone 7上使用的一些基本的語法的簡單總結:

1、創建數據庫

  1. Storage storage = StorageFactory.Instance.CreateStorage(); //創建Perst存儲Storage實例  
  2. storage.Open( "PerstDemoDB.dbs"); // 打開Storage  
  3. Database DB = new Database(storage); //使用上面初始化的Storage實例創建數據庫 

2、創建數據庫面向對象的類(作用相當于關系數據庫的表)

以下是代碼片段:

  1. //創建一個數據庫存儲的面向對象的類的基類 要繼承Perst.Persistent基類  
  2. public class User: Perst.Persistent  
  3. {  
  4.     //定義字段  
  5.     //Perst使用反射來獲取對象的值 需要在字段的前面加上[FullTextIndexable]標示  
  6.     [FullTextIndexable]  
  7.     public long id;  
  8.     [FullTextIndexable]  
  9.     public string name;  
  10.     ……  
  11.      public long Id  
  12.     {  
  13.         get { return id; }  
  14.         set { id= value; }  
  15.     }  
  16.     ……  
  17.      public User(long Id, string name)  
  18.     {  
  19.         id = id;  
  20.         name = name;  
  21.     }  
  22.     public override void OnLoad()  
  23.     {  
  24.         base.OnLoad();  
  25.     }  
  26.     //獲取數據庫對象 一般會將數據庫定義在App里面  
  27.     protected static Database DB  
  28.     {  
  29.         get { return ((App)Application.Current).DB; }  
  30.     }  
  31.     public override void Deallocate()  
  32.     {  
  33.         DB.DeleteRecord(this);//刪除記錄  
  34.     }  
  35.     public void Save()  
  36.     {  
  37.         Store();//保存 相當于保存表  
  38.          DB.UpdateFullTextIndex(this);  
  39.     }  

3、添加記錄

以下是代碼片段:

  1. User user= new User(1"名字");  
  2. DB.AddRecord(user);  
  3. DB.Storage.Commit(); 

4、修改記錄

以下是代碼片段:

  1. user.Id=2 
  2. user.Save(); 

5、刪除記錄

以下是代碼片段:

  1. user.Deallocate();  
  2. DB.Storage.Commit(); 

6、查詢數據庫

根據唯一的oid查詢記錄 oid是Perst數據庫為每一個類的對象分配的一個唯一的值

  1. User user= DB.Select("oid = " + this.NavigationContext.QueryString["oid"]).FirstOrDefault(); 

模糊查詢

以下是代碼片段:

  1. // 查詢所有包含了tbSearch.Text.ToLower()的結果FullTextSearchResult  
  2. FullTextSearchResult prefixes = DB.SearchPrefix(tbSearch.Text.ToLower(), 10004000false);  
  3. ObservableCollection searchUsers = new ObservableCollection();  
  4. List arrayRes = new List();  
  5. if (prefixes != null) arrayRes.AddRange(prefixes.Hits);  
  6. foreach (var hit in arrayRes)  
  7. {  
  8.     if (hit.Document is User)//如果是聯系人類型 FullTextSearchHit.Document 查詢匹配的文件  
  9.     {  
  10.         if (!searchcontacts.Contains((User)hit.Document))  
  11.         searchcontacts.Add((User)hit.Document);  
  12.     }  

7、刪除存儲的類的所有對象

以下是代碼片段:

  1. DB.DropTable(typeof(User));  
  2. DB.Storage.Commit();//完成 

8、刪除數據庫

以下是代碼片段:

  1. var storage = ((App)App.Current).DB.Storage;//獲取在App上定義的數據庫存儲  
  2. storage.Close();//關閉它  
  3. using (var store = IsolatedStorageFile.GetUserStoreForApplication())//獲取當前應用程序使用的本地存儲文件  
  4. {  
  5.     if (store.FileExists("PerstDemoDB.dbs"))//找到數據庫的存儲文件 perst數據庫文件是在本地存儲中的  
  6.     {  
  7.         store.DeleteFile("PerstDemoDB.dbs");//刪除這個數據庫的本地存儲文件  
  8.     }  
  9. }  

 

【編輯推薦】

  1. 微軟WP7本地數據庫之Sterling編程技巧
  2. WP7開發中的數據庫系統選擇
  3. 微軟WP7本機數據庫解決方案之SQLite
  4. 微軟WP7本地數據庫之SQLite編程技巧
  5. Perst嵌入式數據庫介紹

 

責任編輯:艾婧 來源: IT專家網
相關推薦

2011-03-07 09:57:24

Perst嵌入式數據庫

2010-02-24 16:02:45

PerstSilverlight

2010-03-19 13:05:11

Perst Lite

2011-03-11 11:19:05

嵌入式數據庫

2009-01-18 15:36:04

2009-12-17 18:38:56

Fedora 7嵌入式

2013-09-02 14:41:05

Java嵌入式SQLite

2013-09-22 10:39:00

MeayunDB

2011-07-08 10:45:19

SqlceSqlCeConnec

2010-07-05 13:36:21

SQL Server

2010-03-23 09:08:05

2009-11-19 09:35:36

eXtremeDB嵌入式實時數據庫McObject

2010-03-02 14:09:15

Windows Emb

2011-03-02 15:43:29

Windows CE

2009-06-26 16:18:40

Windows Emb

2011-05-12 13:42:04

Windows PhoWindows Pho

2009-06-11 16:34:19

2011-06-14 08:54:46

MangoWindows Pho

2010-06-09 11:55:44

嵌入式開發Windows 7微軟

2010-05-14 10:29:25

Windows Emb
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区久久 | 国产精品美女久久久久久久网站 | 国产精品18久久久久久久 | 免费看国产片在线观看 | 最新日韩av | 久久亚洲免费 | 伊人导航 | 搞av.com | 综合色久| 日韩精品一区二区三区在线观看 | 一级毛片免费看 | 国产精品久久久久久久岛一牛影视 | 99视频在线免费观看 | 天天搞夜夜操 | 一区二区三区国产在线观看 | 国产精品3区 | 亚洲综合一区二区三区 | 欧洲精品一区 | 91精品国产综合久久精品 | www.日本国产 | 日韩中文字幕免费在线观看 | 一级黄色录像毛片 | 国产日韩一区二区三免费高清 | 国产精品爱久久久久久久 | 久久久青草婷婷精品综合日韩 | 色精品视频 | 日韩欧美中文字幕在线观看 | 久久久久九九九女人毛片 | 国产午夜精品理论片a大结局 | 成年视频在线观看 | 不卡在线视频 | 欧美国产日韩在线观看 | 国产三级一区二区三区 | 亚洲精品在线免费观看视频 | 欧美v在线| 亚洲一区二区三区在线播放 | 亚洲免费三区 | 久久久成人网 | 精品一区二区三区91 | 国产精品久久九九 | 日日夜精品视频 |