Windows Mobile訪問SQL Server CE 3.5(2)

來源:互聯網
上載者:User

這篇文章主要介紹在裝置中訪問本機資料庫的一種方法,通過使用SqlCeResultSet方式來更快、更有效訪問資料庫。

 

通過使用資料來源來操作資料庫訪問,一般使用DataSet和SqlCeResultSet

到底選擇哪一個更好呢?

 

DataSet和SqlCeResultSet都能作為資料來源用在資料繫結,或者就直接作為操作資料庫的一種方法,到底它們有哪些差異呢?DataSet對象的功能非常豐富,而且可以將資料存放區在不同的DataTable中,其中每一個都由Column組成,而每行資料則由DataRow來描述。DataSet還能用於對應表的資料約束(是否為空白等),還可以描述表之間的關係(主外鍵對應),類似於一個關係型的資料庫。能夠儲存所有從資料庫來的資料,並且可以將改變的值儲存起來,並由行狀態來區別,可以臨時儲存資料。

 

相對而言,SqlCeResultSet有很大不同,它不儲存資料,可以直接讀取資料、也可以直接更新資料,所以說是一個輕量型的Data Access Objects。

 

DataSet應用可以用作分布式程式、離線訪問程式,用來資料傳遞。

在記憶體有限的裝置中,訪問本地的資料庫,使用DataSet就很大的浪費資源了,此時SqlCeResultSet就有了很好的用武之地了。可以將SqlCeResultSet看成為一個功能的組合:DataSet 的可更新性和可滾動性以及與 SqlCeDataReader 類似的效能。

 

程式示範:

通過Get Data來讀取資料,然後可以New、Update、Delete資料。

效果如下:

新增了1條SysNo為12的記錄。

選擇了SysNo為6的一行,按Update,然後該行的Qty和Price已發生變化。

選擇SysNo為9的記錄,按Delete,這該行被刪除。

 

示範效果很簡單,代碼也很簡單。

選擇一個本機資料庫,然後在工程中添加一個DataSet,選擇好訪問的表。在工程介面,選擇好DataSet的XSD檔案,然後在屬性介面,修改Custom Tool(自訂工具)改為MSResultSetGenerator,這樣DataSet就會改為SqlCeResultSet了,非常方便。而且產生的SqlCeResultSet為強型別的。

 

在Form_Load事件中先將對象執行個體化,傳入連接字串和操作方式。

1 private void Form1_Load(object sender, EventArgs e)
2 {
3     orderSet = new DeviceSQLDemo2.DBResultSets.OrdersResultSet(connString, ResultSetOptions.Scrollable | ResultSetOptions.Sensitive | ResultSetOptions.Updatable);
4 }

 

在綁定資料來源時,只需要用SqlCeResultSet綁定一個資料來源,在綁定到控制項即可。

1 BindingSource bs = new BindingSource();
2 orderSet.Bind(bs);
3 this.dataGrid1.DataSource = bs;

 

新增時,只需要使用Add表名Record即可,修改和刪除時,先要使用ReadAbsolute方法,先將遊標移到對應行。

修改操作只需要對SqlCeReusltSet對象的屬性修改即可,然後使用update方法,就會立刻更新資料庫。

刪除操作則使用Delete方法就可以刪除遊標所在行了。

 

本文主要介紹SqlCeResultSet的使用方法,使得大家能夠在操作本機資料庫時,提供者的效能。

 

代碼下載:DeviceSQLDemo2.rar

開發環境:VS2008+WM6.0

 

Author:AppleSeeker
Date:2008-08-12

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.