自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows Phone 7 Perst嵌入式數(shù)據(jù)庫的學習

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

WP7只有本地存儲,自身是不帶數(shù)據(jù)庫存儲的,所以想要在WP7上使用數(shù)據(jù)庫只能通過使用第三方的嵌入式數(shù)據(jù)庫。Perst 是一個簡單,快速,便捷,面向?qū)ο筮m合Java與.NET的數(shù)據(jù)庫,它在嵌入式數(shù)據(jù)庫領(lǐng)域是鼎鼎有名的,并且其代碼是開源的,我們可以在它的官方網(wǎng)站上下載該數(shù)據(jù)庫的所有的代碼。

官方網(wǎng)站www.mcobject.com/perst_eval

下面是Perst數(shù)據(jù)庫在Windows Phone 7上使用的一些基本的語法的簡單總結(jié):

1、創(chuàng)建數(shù)據(jù)庫

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

2、創(chuàng)建數(shù)據(jù)庫面向?qū)ο蟮念?作用相當于關(guān)系數(shù)據(jù)庫的表)

以下是代碼片段:

  1. //創(chuàng)建一個數(shù)據(jù)庫存儲的面向?qū)ο蟮念惖幕?nbsp;要繼承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.     //獲取數(shù)據(jù)庫對象 一般會將數(shù)據(jù)庫定義在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、查詢數(shù)據(jù)庫

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

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

模糊查詢

以下是代碼片段:

  1. // 查詢所有包含了tbSearch.Text.ToLower()的結(jié)果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)//如果是聯(lián)系人類型 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、刪除數(shù)據(jù)庫

以下是代碼片段:

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

 

【編輯推薦】

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

 

責任編輯:艾婧 來源: IT專家網(wǎng)
相關(guān)推薦

2011-03-07 09:57:24

Perst嵌入式數(shù)據(jù)庫

2010-02-24 16:02:45

PerstSilverlight

2010-03-19 13:05:11

Perst Lite

2011-03-11 11:19:05

嵌入式數(shù)據(jù)庫

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

2009-11-19 09:35:36

eXtremeDB嵌入式實時數(shù)據(jù)庫McObject

2010-03-23 09:08:05

2010-03-02 14:09:15

Windows Emb

2011-03-02 15:43:29

Windows CE

2009-06-11 16:34:19

2010-06-09 11:55:44

嵌入式開發(fā)Windows 7微軟

2010-05-14 10:29:25

Windows Emb

2009-06-26 16:18:40

Windows Emb

2011-05-12 13:42:04

Windows PhoWindows Pho

2020-05-13 09:06:34

Java 數(shù)據(jù)庫開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號