スマート デバイス アプリケーションの構築 (SQL Server Compact)

このセクションでは、Microsoft Visual Studio で新しいスマート デバイス プロジェクトを作成し、Microsoft SQL Server Compact 3.5 の機能をプロジェクトに追加し、System.Data.SqlServerCe 名前空間を使用して新しい SQL Server Compact 3.5 データベースを作成する方法について説明します。System.Data.SqlServerCe 名前空間のマネージ リファレンス トピックは、.NET Framework Reference Documentationにあります。

重要

Visual Studio 2008 は、SQL Server Compact 3.5 SP2 を使用したスマート デバイスのアプリケーションの開発に適した環境です。Visual Studio 2010 は、スマート デバイス アプリケーションの開発をサポートしていません。詳細については、「開発環境のインストール」を参照してください。

.NET Compact Framework の使用

Microsoft.NET Compact Framework を利用すると、デバイス向けのアプリケーションを迅速に開発できます。.NET Compact Framework の主要なコンポーネントは次の 2 つです。

  • 共通言語ランタイム

    共通言語ランタイムは、スレッドとメモリ管理の中心となるサービスを提供することで、アプリケーションの実行中にコードを管理するための環境です。このランタイムを使用するコードを、マネージ コードと呼びます。ランタイムを使用しないコードは、アンマネージ コード、またはネイティブ コードと呼びます。スマート デバイスのネイティブ アプリケーションは MicrosoftVisual C++ for Device を使用して開発されますが、マネージ アプリケーションは MicrosoftVisual Basic や MicrosoftVisual C# などの .NET プログラミング言語を使用して開発されます。

  • .NET Compact Framework クラス ライブラリ

    .NET Compact Framework クラス ライブラリの再利用可能なクラスを使用することで、開発期間が短縮され、UI 開発やデータベース アクセスのスレッド管理などの一般的なプログラミング作業の多くが簡略化されます。

   .NET Compact Framework を対象とするアプリケーションを開発するには、MicrosoftVisual Studio 2003 以降のエディションをインストールする必要があります。 Visual Studio では、Visual C# または Visual Basic、あるいはその両方でアプリケーションを開発できます。

SQL Server データ プロバイダの使用

SQL Server Compact 3.5 データベースにアクセスする際には、System.Data.SqlServerCe 名前空間を使用します。この名前空間を使用すると、SQL Server Compact 3.5 データベース内で以下の操作が可能になります。

  • データにアクセスし、データを変更する。

  • データベースを管理する。

  • データを同期化する。

詳細については、「Managed Data Provider (SQL Server Compact)」を参照してください。

スマート デバイス アプリケーションから SQL Server データベースにアクセスする場合は、SQL Server の .NET Compact Framework データ プロバイダを使用します。詳細については、「.NET Compact Framework Data Provider for SQL Server (SQL Server Compact)」を参照してください。

スマート デバイス プロジェクトの作成

最初に Visual Studio でプロジェクトを作成する必要があります。

新しいスマート デバイス プロジェクトを作成するには

  1. Visual Studio の [ファイル] メニューで、[新規作成] をポイントし、[プロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] の一覧から、使用するプログラミング言語を展開し、[スマート デバイス] をクリックします。

注意

Visual Basic の場合、まず、[他の言語] を展開します。

  1. [テンプレート] の一覧で、[スマート デバイス プロジェクト] をクリックします。

  2. プロジェクトの名前と場所を指定し、[OK] をクリックします。[新しいスマート プロジェクトの追加] ダイアログ ボックスが開きます。

  3. [テンプレート] の一覧で、[デバイス アプリケーション] をクリックします。

  4. [ターゲット プラットフォーム] ドロップダウン リストから、プロジェクトを作成するプラットフォームを選択します。たとえば、Windows Mobile 5.0 Pocket PC アプリケーションを開発する場合、[Windows Mobile 5.0 Pocket PC SDK] をクリックします。

  5. [.NET Compact Framework バージョン] ドロップダウン リストからアプリケーションで使用する .NET Compact Framework のバージョンを選択します。

  6. [OK] をクリックします。

    Visual Studio によって新しいプロジェクトが作成され、メイン フォーム (Form1) が表示されます。表示は、選択したターゲット プラットフォームのデバイスに似ています。

プロジェクトへの SQL Server Compact 3.5 の追加

SQL Server Compact 3.5 対応のアプリケーションを作成するには、続いて SQL Server Compact アセンブリへの参照を追加する必要があります。

SQL Server Compact 3.5 への参照を追加するには

  1. ソリューション エクスプローラで、[参照設定] を右クリックし、[参照の追加] をクリックします。

    注意

    ソリューション エクスプローラに [参照設定] フォルダが表示されていない場合は、ソリューション エクスプローラの上部の [すべてのファイルを表示] をクリックします。

  2. .NET アセンブリの一覧で [System.Data.SqlServerCe] をクリックし、[OK] をクリックします。System.Data.SqlServerCe が表示されない場合、次の手順を実行します。

    1. [参照] をクリックします。

    2. 次のディレクトリに移動します。

      C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices

    3. [System.Data.SqlServerCe.dll] をクリックし、[OK] をクリックします。

    ソリューション エクスプローラーの参照設定の一覧に System.Data.SqlServerCe が追加され、このアセンブリをプロジェクトで使用できるようになりました。

  3. ソリューション エクスプローラで [Form1.cs] または [Form1.vb] を右クリックし、[コードの表示] をクリックします。

  4. フォームのコードの先頭に System.Data.SqlServerCe 名前空間を使用するディレクティブを追加します。

    using System.Data.SqlServerCe;
    
    Imports System.Data.SqlServerCe
    

プライベート配置用の SQL Server Compact の構成

SQL Server Compact 3.5 のプライベート配置を使用するアプリケーションを構築するには、.NET Compact Framework データ プロバイダーと必要なネイティブ DLL がアプリケーションの出力ディレクトリに配置されている必要があります。アプリケーションで SQL Server Compact 3.5 のプライベート配置を使用する場合は、このセクションの手順に従います。アプリケーションでプライベート配置を使用しない場合は、このセクションを省略してください。SQL Server Compact 3.5 のプライベート配置の詳細については、「プライベート配置と中心配置 (SQL Server Compact)」を参照してください。

SQL Server Compact のプライベート配置用にアプリケーションを構成するには

  1. プロジェクトの構築時に出力ディレクトリにコピーされるように、.NET Compact Framework Data Provider for SQL Server Compact 3.5 アセンブリを構成します。

    1. ソリューション エクスプローラーで、[参照設定] を展開して、System.Data.SqlServerCe を右クリックし、[プロパティ] をクリックします。

    2. System.Data.SqlServerCe の [参照プロパティ] で、[ローカル コピー]True に設定します。

  2. 必要な SQL Server Compact 3.5 ネイティブ ライブラリをプロジェクトに追加します。

    1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] をポイントして、[既存の項目] をクリックします。

    2. [既存の項目の追加] ダイアログ ボックスで、%Program Files%\Microsoft SQL Server Compact Edition\v3.5\Devices\ (デバイス プラットフォームのアセンブリが配置されている場所) を参照します。たとえば、C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i です。

    3. プロジェクトに必要な各ネイティブ ライブラリをコントロール クリックしてファイル一覧でそれらを選択し、[OK] をクリックします。

      注意

      少なくとも、sqlceme35.dll、sqlceqp35.dll、および sqlcese35.dll のライブラリを追加する必要があります。

  3. プロジェクトの構築時に出力ディレクトリにコピーされるように、前の手順で追加した各ネイティブ ライブラリを構成します。

    1. ソリューション エクスプローラーで、ライブラリ (たとえば、sqlcese35.dll) を右クリックし、[プロパティ] をクリックします。

      注意

      ソリューション エクスプローラーにアセンブリが表示されていない場合は、ソリューション エクスプローラーの上部の [すべてのファイルを表示] をクリックします。

    2. ファイルの [プロパティ][出力ディレクトリにコピー] ドロップダウン リストで [常にコピーする] または [新しい場合はコピーする] をクリックします。

注意

Visual Studio からスマート デバイス アプリケーションの F5 配置を行うと、スマート デバイスで SQL Server Compact 3.5 が中心にインストールされます。このため、Visual Studio からアプリケーションを配置すると、SQL Server Compact 3.5 のプライベート配置用にアプリケーションを構築した場合でも、アプリケーションは配置時にデバイスの Visual Studio によってインストールされた SQL Server Compact 3.5 のバージョンを使用します。

SQL Server Compact 3.5 オブジェクトの使用

System.Data.SqlServerCe 名前空間を追加した後で、SQL Server Compact 3.5 オブジェクトを使用してコーディングを開始できます。次のコード例は、Engine オブジェクトを使用して SQL Server Compact 3.5 データベース ファイルを新規作成する方法を示しています。

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

public class NETCF_SqlCeEngine
{
    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 NETCF_SqlCeEngine

    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

その他の技術情報

開発者ガイド (SQL Server Compact)

スマート デバイス アプリケーションの配置