基于WinCE操作系統(tǒng)的ARM9系列嵌入式網(wǎng)絡(luò)模塊(如EM9000),自英創(chuàng)公司推出以來,以其穩(wěn)定可靠的運(yùn)行性能、完善的硬件接口、方便的開發(fā)工具(VC或VS.NET),在各個(gè)行業(yè)得到了廣泛的應(yīng)用。由于微軟的最新開發(fā)工具Visual Studio.NET 2005支持使用C#語言進(jìn)行應(yīng)用開發(fā),客戶可以更方便地構(gòu)筑應(yīng)用界面并調(diào)用方便可靠的API,越來越多的客戶選用它作為嵌入式設(shè)備開發(fā)調(diào)試工具。在應(yīng)用中,客戶經(jīng)常要使用到嵌入式本地?cái)?shù)據(jù)庫進(jìn)行數(shù)據(jù)庫建立、數(shù)據(jù)查詢、刪除等功能,針對此情況,我們在此對使用C#2005進(jìn)行SQL CE 2.0本地?cái)?shù)據(jù)庫開發(fā)進(jìn)行介紹,并提供相應(yīng)的例程。
客戶在進(jìn)行SQL CE數(shù)據(jù)庫開發(fā)之前應(yīng)已滿足如下條件:
1、確認(rèn)其使用的ARM9模塊支持SQL CE數(shù)據(jù)庫開發(fā)。(客戶如無特殊配置要求,英創(chuàng)ARM9系列模塊均缺省支持SQL CE 2.0數(shù)據(jù)庫)
2、開發(fā)主機(jī)已經(jīng)安裝了Visual Studio.NET 2005
3、客戶已經(jīng)閱讀過英創(chuàng)相關(guān)文檔《使用VS2005連接和調(diào)試英創(chuàng)ARM9嵌入式模塊》,并能成功地使用C#進(jìn)行程序的連接和調(diào)試
作為SQL CE開發(fā)的必要條件,必須在安裝了VS.NET 2005的開發(fā)主機(jī)上安裝Microsoft .NET Compact Framework SP2。該程序可在Microsoft網(wǎng)站上免費(fèi)下載。英創(chuàng)開發(fā)光盤的“SOFTWARE\CSharp2005\CSharp軟件工具”目錄下也提供了此程序,程序名NETCFSetupv2(sp2).msi,雙擊運(yùn)行它即可進(jìn)行安裝,安裝過程按照其提示的缺省選擇即可。
安裝完畢后,即可進(jìn)入程序的開發(fā)。客戶按照《使用VS2005連接和調(diào)試英創(chuàng)ARM9嵌入式模塊》的步驟創(chuàng)建工程項(xiàng)目后,要想在本項(xiàng)目中操作數(shù)據(jù)庫,首先要添加對System.Data.SqlServerCe.dll動(dòng)態(tài)鏈接庫的引用,步驟如下:
1、在集成開發(fā)環(huán)境中,對“解決方案資源管理器”中的“引用”單擊右鍵,并單擊“添加引用”。
2、在彈出的“添加引用”對話框選項(xiàng)卡里選“瀏覽”,并查找目錄【C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0】,可以看到System.Data.SqlServerCe.dll,選擇它并“確定”。
3、可以看到“解決方案資源管理器”中的“引用”下已經(jīng)添加了對System.Data.SqlServerCe的引用。
但是光是在“解決資源管理器”的“引用”下添加還不行,還必須在程序的起始using語句中添加:using System.Data.SqlServerCe; 語句,應(yīng)用程序才能直接調(diào)用相關(guān)的類和函數(shù)。
英創(chuàng)公司提供了一個(gè)小型但是基本功能具備的C#應(yīng)用程序源代碼供客戶參考,客戶可以在應(yīng)用光盤的如下目錄找到這個(gè)工程:【SOFTWARE\CSharp2005\SQLCE_001】,里面有比較詳細(xì)的注釋供客戶參考,客戶在參考本程序之前可以先將此程序進(jìn)行編譯下載并在目標(biāo)系統(tǒng)上運(yùn)行,本例程在目標(biāo)板上運(yùn)行的界面如下:
程序界面及功能說明
四個(gè)功能按鈕:
● 數(shù)據(jù)庫及表創(chuàng)建按鈕:創(chuàng)建名稱為Leedata.sdf的數(shù)據(jù)庫,并在數(shù)據(jù)庫下建立一個(gè)Products表;創(chuàng)建完畢后按鈕自動(dòng)灰化。
● 插入記錄按鈕:在Products表里插入8條固定內(nèi)容的產(chǎn)品記錄;插入后按鈕自動(dòng)灰化。
● 執(zhí)行查詢按鈕:將Products表里8條記錄的產(chǎn)品名稱Name字段讀出,并將其作為選擇項(xiàng)顯示在下拉菜單框里;完畢后,顯示缺省選中記錄的各個(gè)字段到文本框;執(zhí)行后按鈕自動(dòng)灰化。
● 刪除記錄按鈕:將當(dāng)前選中顯示的記錄從Products表中刪除;刪除完畢后程序會(huì)自動(dòng)重新載入下拉菜單,并重新載入缺省記錄顯示;當(dāng)8條記錄均被刪除完畢Products成為空表后,本按鈕自動(dòng)灰化,并激活插入記錄按鈕。
一個(gè)下拉菜單框:載入Products表里各條記錄的產(chǎn)品名稱Name字段,并供用戶選擇查詢。
五個(gè)文本框:顯示當(dāng)前被選中記錄的各項(xiàng)字段值。
需要注意的語言點(diǎn)
1、AppPath=System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()); ///獲取當(dāng)前目錄路徑
2、SqlCeEngine eng = new SqlCeEngine('Data Source=' + slocalDatabaseName);
eng.CreateDatabase();
// 創(chuàng)建數(shù)據(jù)庫,在SQL CE里只能通過此方法創(chuàng)建數(shù)據(jù)庫
3、SqlCeConnection localConnection = new SqlCeConnection('Data Source=' + slocalDatabaseName);
localConnection.Open();
// 連接打開數(shù)據(jù)庫
4、SqlCeCommand cmdCmd = new SqlCeCommand(SQL語句字符串, localConnection);
cmdCmd.CommandType = CommandType.Text;
cmdCmd.ExecuteNonQuery();
// 進(jìn)行一次SQL操作的通用方法
5、SqlCeDataReader dr;
SqlCeCommand cmdGetData = new SqlCeCommand('SELECT 字段 FROM 表', localConnection);
dr = cmdGetData.ExecuteReader();
while (dr.Read()){…}
// 查詢方法的一種
6、SqlCeCommand cmdGetData = new SqlCeCommand();
SqlCeDataReader dr;
cmdGetData.Connection = localConnection;
cmdGetData.CommandType = CommandType.TableDirect;
cmdGetData.CommandText = 表;
cmdGetData.IndexName = 某字段的索引名;
dr = cmdGetData.ExecuteReader();
dr.Seek(DbSeekOptions...., ...);
if (dr.Read()) {...}
// 又一種查詢方法
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35649
發(fā)布評論請先 登錄
相關(guān)推薦
數(shù)據(jù)庫SQL的優(yōu)化
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>SQL</b>的優(yōu)化](https://file1.elecfans.com/web2/M00/A7/68/wKgaomUjrwyAK75GAAGsrSGoALU631.jpg)
SQL Server 2005如何創(chuàng)建數(shù)據(jù)庫
sql數(shù)據(jù)庫安裝失敗
SQL2005數(shù)據(jù)庫教程課件下載
![<b class='flag-5'>SQL2005</b><b class='flag-5'>數(shù)據(jù)庫</b>教程課件下載](https://file.elecfans.com/web2/M00/48/81/pYYBAGKhtAqACyvyAAAXNJrKr0c307.jpg)
SQL Server 2005數(shù)據(jù)庫技術(shù)與應(yīng)用-電子教案pp
![<b class='flag-5'>SQL</b> Server <b class='flag-5'>2005</b><b class='flag-5'>數(shù)據(jù)庫</b>技術(shù)與應(yīng)用-電子教案pp](https://file.elecfans.com/web2/M00/48/81/pYYBAGKhtAqAXpvIAAAqmIvHm_I463.jpg)
SQL Server 2005數(shù)據(jù)庫簡明教程
![<b class='flag-5'>SQL</b> Server <b class='flag-5'>2005</b><b class='flag-5'>數(shù)據(jù)庫</b>簡明教程](https://file.elecfans.com/web2/M00/48/81/pYYBAGKhtAqAWd6NAAAeMyL12Jc839.jpg)
嵌入式移動(dòng)數(shù)據(jù)庫SQL Server for Windows
Windows CE 數(shù)據(jù)庫程序開發(fā)
數(shù)據(jù)庫SQL語句電子教程
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書之SQL_Server_2005
![<b class='flag-5'>數(shù)據(jù)庫</b>原理實(shí)驗(yàn)指導(dǎo)書之<b class='flag-5'>SQL_Server_2005</b>](https://file.elecfans.com/web1/M00/55/A8/o4YBAFszBhGABNyvAABd1v16MlI746.jpg)
SQL Server 2005數(shù)據(jù)庫的應(yīng)用手冊
![<b class='flag-5'>SQL</b> Server <b class='flag-5'>2005</b><b class='flag-5'>數(shù)據(jù)庫</b>的應(yīng)用手冊](https://file.elecfans.com/web1/M00/82/28/pIYBAFw26NuAB0hpAAERx4XlJKE396.png)
創(chuàng)建新的數(shù)據(jù)庫和更改SQL Server CE數(shù)據(jù)庫中的數(shù)據(jù)操作教程免費(fèi)下載
如何將intouch數(shù)據(jù)插入到SQL數(shù)據(jù)庫
![如何將intouch<b class='flag-5'>數(shù)據(jù)</b>插入到<b class='flag-5'>SQL</b><b class='flag-5'>數(shù)據(jù)庫</b>](https://file.elecfans.com/web1/M00/B0/31/o4YBAF3oor-ANs1SAAAegqaN4LM622.jpg)
SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>SQL</b> SERVER<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例](https://file.elecfans.com/web2/M00/6D/2F/poYBAGM1Ez6AGPpHAAB8zYigUZQ066.png)
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>SQL</b> Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯(cuò)誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例](https://file1.elecfans.com/web2/M00/07/F4/wKgaombs78mANJ1GAAPeSoXHVPE244.png)
評論