首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

SQL Server CE 2.0 搭配 .NET Compact Framework 開發行動應用完整指南

     編輯:關於VC++

隨著行動裝置普及,企業對行動應用需求激增。SQL Server CE 2.0 (SQL 2000 Windows CE Edition) 將 SQL Server 核心功能延伸至 Windows CE 裝置,提供完整關聯式資料庫引擎,記憶體佔用極小,支援離線操作與雙向同步,是行動應用開發的關鍵技術。

開發平台與工具選擇

工具組合支援裝置開發語言備註
eMbedded Visual Tools 3.0Pocket PC / HPC (Win CE 3.x+)eVB / eVC++舊專案維護
Visual Studio .NET + Smart Device Extensions (SDE)Pocket PC 2002 / Win CE .NET 4.xVB.NET / C#整合式 IDE、ADO.NET 架構
Visual Studio "Everett" (VS 2005)原生支援 .NET CF / PPC 2003 / CE .NET 4.xVB.NET / C#下一代工具 (文發表時為代號)

SQL Server CE 2.0 核心新功能

  • 參數化查詢:INSERT INTO Table (col1, col2) VALUES (?, ?),防止 SQL Injection,效能優於字串拼接
  • UNION 查詢:合併多個 SELECT 結果集
  • 內建函數大幅擴充:數學、字串、系統函數 (如 RTRIM、CAST) 直接在 SQL 執行,效能遠優於 eVB/eVC++ 客戶端運算
  • 索引支援增強:從 32 個提升至 249 個索引;支援主鍵以外的所有索引 Pull 至裝置
  • 強健例外處理:SqlCeException 類別配合 try/catch/finally,取代舊版 On Error GoTo
  • 長錯誤訊息:可選擇性部署錯誤說明 DLL,除錯後可移除節省空間
  • 128-bit 加密 + 密碼保護:防止程式存取與明文資料洩露
  • Managed Provider (System.Data.SqlServerCE):ADO.NET 風格程式模型,與桌面版開發體驗一致

資料同步架構:RDA vs 合併式複寫

特性RDA (Remote Data Access)合併式複寫
後端資料庫SQL Server 7.0+SQL Server 2000 必備
模型Pull (下載) / Push (上傳) / Execute SQL發佈/訂閱,雙向同步,衝突解析
通訊協定HTTP/HTTPS 經 IIS/ISA ServerHTTP/HTTPS 經 IIS
壓縮/加密內建壓縮,支援加密內建壓縮,支援 SSL
複雜度簡單,適合單向/簡單雙向完整複寫引擎,適合複雜離線場景

實戰範例:NorthwindCE 訂單查詢與同步

使用 Visual Studio .NET + SDE 建立 C# Smart Device 專案,部署至 Pocket PC 2002 模擬器:

1. 初始化訂閱資料庫並同步 (Form_Load → DBInit → DBSync)


SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase(); // 建立空資料庫

SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = "https://server/sqlce/sa_agent.dll";
repl.Publisher = "PublisherName";
repl.PublisherDatabase = "Nwind_SQLCE";
repl.Publication = "SQLCEReplDemoNet";
repl.Subscriber = "SubscriberName";
repl.SubscriberConnectionString = connStr;
repl.Synchronize(); // 取得完整 Schema + 資料

2. 參數化查詢員工資料 (FindEmployees)


using (SqlCeConnection conn = new SqlCeConnection(connStr)) {
    conn.Open();
    string sql = "SELECT EmployeeID, RTRIM(FirstName) + ' ' + RTRIM(LastName) AS Name " +
                 "FROM Employees WHERE LastName LIKE ?";
    using (SqlCeCommand cmd = new SqlCeCommand(sql, conn)) {
        cmd.Parameters.Add("@LastName", txtLastName.Text + "%");
        using (SqlCeDataReader rd = cmd.ExecuteResultSet()) {
            while (rd.Read()) { /* 填入 ListView */ }
        }
    }
}

3. 例外處理模式


try { /* DB 操作 */ }
catch (SqlCeException ex) {
    ShowErrors(ex); // 解析 Errors 集合顯示詳細訊息
}
finally { /* 釋放連線 */ }

部署與災難復原建議

  • 裝置電池耗盡可能導致資料損毀,建議將資料庫與執行檔置於 CF 卡等非易失性儲存體
  • 製作 CAB 安裝套件簡化現場部署
  • SQL Server CE 2.0 下載:Microsoft 官網

SQL Server CE 2.0 在功能完整性與效能上實現質的飛躍,配合 .NET Compact Framework 讓行動應用開發邁入新紀元,是建構企業級行動資料管理解決方案的首選利器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved