建立用於桌上型電腦的應用程式 (SQL Server Compact)

您可以使用 SQL Server Compact 當做電腦應用程式的資料存放區。在此主題中,您將學習如何將 SQL Server Compact 加入至 Visual Studio 產品,然後針對 System.Data.SqlServerCe 命名空間編寫程式碼。System.Data.SqlServerCe 命名空間的 Managed 參考主題都位於 .NET Framework 參考文件集中。

建立電腦專案

若要建立新的電腦應用程式,您必須先在 Visual Studio 中建立 Windows 專案。針對電腦應用程式,您必須加入 Microsoft.Ink 命名空間的參考。

注意

如果您不是在執行 Windows XP Tablet PC Edition 的電腦上開發 Tablet PC 應用程式,就必須先安裝 Microsoft Windows XP Tablet PC Edition 開發套件。您可以從行動和內嵌應用程式開發人員中心下載最新的版本。

若要建立新的電腦專案

  1. 在 Visual Studio 的 [檔案] 功能表中,指向 [新增],然後選取 [專案]

  2. [新增專案] 對話方塊的 [已安裝的範本] 清單中,展開您要使用的程式語言,然後選取 [Windows]

  3. [範本] 清單中,選取 [Windows Form 應用程式]

  4. 提供專案的名稱與位置,然後按一下 [確定]

    Visual Studio 隨即建立新的專案,並且顯示主表單 (Form1)。

  5. (選擇性) 在 [方案總管] 中,以滑鼠右鍵按一下 [參考],然後選取 [加入參考]

    注意

    如果 [方案總管] 中未列出 [參考] 資料夾,請按一下 [方案總管] 最上方的 [顯示所有檔案]

  6. (選擇性) 在 .NET 組件清單中,選取 [Microsoft Tablet PC API],然後按一下 [確定]

    此時參考清單會包含 Microsoft.Ink

針對集中部署建立時,將 SQL Server Compact 4.0 加入至專案

建立專案之後,您必須加入 SQL Server Compact 組件的參考。當您針對 SQL Server Compact 的私下部署或集中部署建立應用程式時,加入 SQL Server Compact 組件之參考的程序稍有不同。若為集中部署,請遵循下列步驟。

若要加入 SQL Server Compact 4.0 的參考 (適用於集中部署)

  1. [方案總管] 中,以滑鼠右鍵按一下 [參考],然後選取 [加入參考]

    注意

    如果 [方案總管] 中未列出 [參考] 資料夾,請按一下 [方案總管] 最上方的 [顯示所有檔案]

  2. 在 .NET 組件清單中,選取 System.Data.SqlServerCe,然後按一下 [確定]。如果 System.Data.SqlServerCe 不在清單上,請執行下列步驟:

    1. [加入參考] 對話方塊中,按一下 [瀏覽]

    2. 瀏覽至下列資料夾:%Program Files%\Microsoft SQL Server Compact Edition\v4.0\Desktop。

    3. 選取 System.Data.SqlServerCe.dll,然後按一下 [確定]

    [方案總管] 中的參考清單現已包含 System.Data.SqlServerCe,而且您的專案可以使用此組件。

    注意

    如果您的專案使用 Entity Framework,請重複相同的步驟,以便加入 System.Data.SqlServerCe.Entity 的參考。您可以從 .NET 組件清單加入 System.Data.SqlServerCe.Entity,也可以瀏覽至 %Program Files%\Microsoft SQL Server Compact Edition\v4.0。

  3. 在 [方案總管] 中,以滑鼠右鍵按一下 Form1.csForm1.vb,然後選取 [檢視程式碼]

  4. 在表單的程式碼最上方,加入使用 System.Data.SqlServerCe 命名空間的指示詞。如果您使用 Entity Framework,請加入使用 System.Data.SqlServerCe 命名空間的指示詞。若為 Tablet PC 應用程式,請一併加入使用 Tablet PC API 的指示詞:

    • C#

      using System.Data.SqlServerCe;
      using System.Data.SqlServerCe.Entity; 
      using Microsoft.Ink;
      
    • Visual Basic

      Imports System.Data.SqlServerCe
      Imports System.Data.SqlServerCe.Entity
      Imports Microsoft.Ink
      

針對私下部署建立時,將 SQL Server Compact 4.0 加入至專案

建立專案之後,您必須加入 SQL Server Compact 組件的參考。當您針對 SQL Server Compact 的私下部署或集中部署建立應用程式時,加入 SQL Server Compact 組件之參考的程序稍有不同。若為私下部署,請遵循下列步驟。

若要加入 SQL Server Compact 4.0 的參考 (適用於集中部署)

  1. [方案總管] 中,以滑鼠右鍵按一下 [參考],然後選取 [加入參考]

    注意

    如果 [方案總管] 中未列出 [參考] 資料夾,請按一下 [方案總管] 最上方的 [顯示所有檔案]

  2. [加入參考] 對話方塊中,按一下 [瀏覽]

  3. 瀏覽至 %Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private 資料夾。

  4. 選取 System.Data.SqlServerCe,然後按一下 [確定]

    [方案總管] 中的參考清單現已包含 System.Data.SqlServerCe,而且您的專案可以使用此組件。

    注意

    如果您的專案使用 Entity Framework,請重複相同的步驟,以便加入 System.Data.SqlServerCe.Entity 的參考 (若為私下部署,也會從 %Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private 資料夾加入 System.Data.SqlServerCe.Entity)。

  5. 在 [方案總管] 中,以滑鼠右鍵按一下 Form1.csForm1.vb,然後選取 [檢視程式碼]

  6. 在表單的程式碼最上方,加入使用 System.Data.SqlServerCe 命名空間的指示詞。如果您使用 Entity Framework,請加入使用 System.Data.SqlServerCe 命名空間的指示詞。若為 Tablet PC 應用程式,請一併加入使用 Tablet PC API 的指示詞:

    • C#

      using System.Data.SqlServerCe;
      using System.Data.SqlServerCe.Entity; 
      using Microsoft.Ink;
      
    • Visual Basic

      Imports System.Data.SqlServerCe
      Imports System.Data.SqlServerCe.Entity
      Imports Microsoft.Ink
      

針對私下部署設定 SQL Server Compact

若要建立使用 SQL Server Compact 私下部署的應用程式,您必須確定已將 .NET Framework 資料提供者和任何必要的原生 DLL 部署在應用程式的輸出目錄中。如果您想要讓應用程式使用 SQL Server Compact 的私下部署,就應該遵循本節的步驟。如果您的應用程式沒有使用私下部署,請略過本節。如需有關 SQL Server Compact 私下部署的詳細資訊,請參閱<私下部署與集中部署 (SQL Server Compact)>。下列步驟會假設應用程式的建立目標為任何平台 (32 位元和 64 位元)。如果您的應用程式只以其中一個平台為目標,就可以省略適用於其他平台的步驟。

若要針對 SQL Server Compact 私下部署設定應用程式

  1. 建立專案時,將 .NET Framework Data Provider for SQL Server Compact 組件設定為複製到輸出目錄。

    1. [方案總管] 中,展開 [參考]、以滑鼠右鍵按一下 System.Data.SqlServerCe,然後選取 [屬性]

    2. 在 System.Data.SqlServerCe 的 [參考屬性] 中,將 [複製到本機] 設定為 [True]

    注意

    如果您的專案使用 Entity Framework,請針對 System.Data.SqlServerCe.Entity 重複相同的步驟,以便將 Entity Framework Data Provider for SQL Server Compact 設定為複製到輸出目錄。

  2. 將必要的 32 位元 SQL Server Compact 原生程式庫加入至專案。

    1. [方案總管] 中,以滑鼠右鍵按一下專案、指向 [加入],然後選取 [新資料夾]。將資料夾命名為 x86

    2. [方案總管] 中,以滑鼠右鍵按一下 x86 資料夾、指向 [加入],然後選取 [現有項目]

    3. [加入現有項目] 對話方塊中,瀏覽至 32 位元原生程式庫所在的資料夾。在 32 位元版本的 Windows 上,這個資料夾是 %Program Files%\Microsoft SQL Server Compact Edition\v4.0。在 64 位元版本的 Windows 上,這個資料夾是 %Program Files (x86)%\Microsoft SQL Server Compact Edition\v4.0。

    4. 在檔案清單中,按住 Ctrl 鍵並按一下專案的每個必要原生程式庫,然後按一下 [確定]。這些程式庫就會加入至 x86 資料夾。

      注意

      至少,您必須加入下列程式庫:sqlceme40.dll、sqlceqp40.dll、sqlcese40.dll 和 sqlceer40.dll。

  3. 將必要的 64 位元 SQL Server Compact 原生程式庫加入至專案。

    1. [方案總管] 中,以滑鼠右鍵按一下專案、指向 [加入],然後選取 [新資料夾]。將資料夾命名為 x64

    2. [方案總管] 中,以滑鼠右鍵按一下 x64 資料夾、指向 [加入],然後選取 [現有項目]

    3. [加入現有項目] 對話方塊中,瀏覽至 64 位元原生程式庫所在的資料夾。在 64 位元版本的 Windows 上,這個資料夾是 %Program Files%\Microsoft SQL Server Compact Edition\v4.0。

      注意

      您無法在執行 Windows 32 位元版本的電腦上安裝 SQL Server Compact 64 位元版本。若要將 64 位元原生程式庫加入至在 32 位元開發環境中建立的專案,您必須先將這些檔案從 64 位元安裝程式擷取至開發電腦上的目錄中。然後,您就可以瀏覽至這個目錄,以便將 64 位元原生程式庫加入至專案。如需有關如何從安裝程式中擷取檔案的詳細資訊,請參閱<如何:從 SQL Server Compact Runtime 安裝程式中擷取 64 位元 DLL>。

    4. 在檔案清單中,按住 Ctrl 鍵並按一下專案的每個必要原生程式庫,然後按一下 [確定]。這些程式庫就會加入至 x64 資料夾。

      注意

      至少,您必須加入下列程式庫:sqlceme40.dll、sqlceqp40.dll、sqlcese40.dll 和 sqlceer40.dll。

  4. 建立專案時,將先前步驟中加入的每個原生程式庫設定為複製到輸出目錄。您必須針對兩個目錄中的程式庫進行此作業。

    1. 在 [方案總管] 中,以滑鼠右鍵按一下程式庫 (例如 sqlcese40.dll),然後選取 [屬性]。

      注意

      如果這些組件沒有列在 [方案總管] 中,請按一下 [方案總管] 最上方的 [顯示所有檔案]

    2. 在檔案的 [屬性] 中,從 [複製到輸出目錄] 下拉式清單中選取 [永遠複製][有更新時才複製]

  5. 將專案設定為針對 [@@@任何 CPU] 建立。

    1. [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [屬性] 開啟 [專案設計工具]

    2. 按一下 [建置],然後從 [平台目標] 下拉式清單中選取 [任何 CPU]

使用 SQL Server Compact 4.0 物件

加入 System.Data.SqlServerCe 命名空間之後,您便可以開始使用 SQL Server Compact 物件編寫程式碼。以下程式碼範例說明如何使用 Engine 物件來建立新的 SQL Server Compact 資料庫檔案。

using System;
using System.Data.SqlServerCe;
using System.IO;

public class MySqlCeEngine
{
    public void CreateDB()
    {
        File.Delete("Test.sdf");
        string connString = "Data Source='Test.sdf'; LCID=1033;   Password=<enterStrongPasswordHere>; Encrypt = TRUE;";
        SqlCeEngine engine = new SqlCeEngine(connString);
        engine.CreateDatabase();
    }
}
Imports System
Imports System.Data.SqlServerCe
Imports System.IO

Public Class MySqlCeEngine

    Public Sub CreateDB()
        File.Delete("Test.sdf")
        Dim connString As String = "Data Source='Test.sdf'; LCID=1033; Password=<enterStrongPasswordHere>; Encrypt = TRUE;"
        Dim engine As New SqlCeEngine(connString)
        engine.CreateDatabase()
    End Sub
End Class 

請參閱

參考

System.Data.SqlServerCe 命名空間 (.NET Framework 參考文件集)