共用方式為


行動裝置和資料 (C# 與 Java 的比較)

更新:2007 年 11 月

在 C# 和 .NET Compact Framework 中,可使用設計桌面資料庫程式時所用的相同概念和類似的 API,來存取並管理行動裝置上的資料庫資料。ADO.NET 在行動裝置上提供以 Windows CE 裝置 (包括 Pocket PC 和 Smartphone) 為目標的桌面 API 子集。如需詳細資訊,請參閱資料庫存取 (C# 與 Java 的比較)

Java

在 Java 中,可使用 J2ME 和 JDBC 來存取行動裝置的資料庫。如需詳細資訊,請參閱資料庫存取 (C# 與 Java 的比較)。J2ME 並不代表所有裝置上的單一 API,也沒有單一的開發環境。此外,J2ME 必須在虛擬機器中執行,視組態而定可能是 KVM 或 JVM。

C#

在 C# 中,可以使用桌面或行動裝置上之連接、命令和資料的資料表 (Data Table) 等熟悉的概念,來執行資料庫讀取作業。請使用 System.Data.SqlServerCe 命名空間 (Namespace) 和類別 (Class)。例如,您可以進行下列作業:

  • 使用 System.Data.SqlServerCe.SqlCeConnection 進行資料庫連接。

  • 使用 SQL 命令物件的 System.Data.SqlServerCe.SqlCeCommand。

  • 使用結果集物件,例如資料表物件的 DataTable

.NET Framework 提供 DataAdapter,可讓您輕鬆地一起使用之前提及的類別。System.Data.SqlServerCe.SqlCeConnection 物件可以使用物件的 System.Data.SqlServerCe.SqlCeDataAdapter 的連接屬性來設定。

要執行的查詢是使用 DataAdapter 的 System.Data.SqlServerCe.SqlCeDataAdapter.SelectCommand 屬性指定,否則查詢會和連接物件一起傳遞至 DataAdapter 的建構函式 (Constructor)。

da = new SqlCeDataAdapter("SELECT * FROM Users", cn);

DataTable 物件是使用 DataAdapter 物件的 Fill 方法來建立。DataAdapter 物件包含由查詢傳回的結果集資料。可以使用 Rows 集合逐一查看 DataAdapter 物件,以存取資料列。

下列程式碼說明如何存取行動裝置上 SQL Server CE (SQLCE) 資料庫中資料表的資料列。

namespace DataAccessCE
{
    using System.Data;
    using System.Data.SqlServerCe;

    class DataAccessCE
    {
        public static string connectionString = "";
        public static SqlCeConnection cn = null;
        public static SqlCeDataAdapter da = null;
        public static DataTable dt = new DataTable();

        static void Main()
        {
            connectionString = "Data Source=\\My Documents\\Database.sdf" ;
            cn = new SqlCeConnection(connectionString);

            da = new SqlCeDataAdapter("SELECT * FROM Users", cn);
            da.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                System.Console.WriteLine(dr[0]);
            }
        }
    }
}    

如需詳細資訊,請參閱下列主題:

編譯程式碼

必須先將 System.Data.SqlServerCe 的參考加入專案之後,才能透過應用程式使用 SQLCE 資料庫。做法是在開發環境中按一下 [專案] 功能表上的 [加入參考]。接著,從 [加入參考] 對話方塊選取 System.Data.SqlServerCe 元件。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

穩固程式設計

若要編譯並執行程式碼,您需要下列各項,否則 da.Fill(dt); 程式碼行將會失敗並擲回例外狀況。

  • 安裝於此裝置上的 SQL Server CE。

  • 資料庫資料表,其中包含的部分資料可用在 SQLCE 資料庫 (Database.sdf) 上進行測試。您可以使用 SQL CE 工具在裝置上建置 (Build) 這個資料表,或者從 SQL Server 桌面複寫這個資料表來產生 .sdf 檔案。可以將 .sdf 檔案加入專案,或將它手動複製至連接字串中所指定的目錄。

請參閱

概念

C# 程式設計手冊

ADO.NET DataSet

參考

智慧型裝置 (C# 中的 [如何?])

SqlConnection

SqlCommand

其他資源

Java 開發人員可用的 C#

智慧型裝置開發

DataSet、DataTable 及 DataView (ADO.NET)