モバイル デバイスおよびデータ (C# と Java の比較)
更新 : 2007 年 11 月
C# および .NET Compact Framework を使用すると、デスクトップ データベース プログラミングで使用するのと同一の概念および同様の API を使って、モバイル デバイス上のデータベース データにアクセスしたり、管理したりできます。モバイル デバイスでは、ADO.NET が、Pocket PC や Smartphone を含む Windows CE デバイスを対象としたデスクトップ API のサブセットを提供します。詳細については、「データベース アクセス (C# と Java の比較)」を参照してください。
Java
Java では、J2ME および JDBC を使用して、モバイル デバイスからデータベースにアクセスできます。詳細については、「データベース アクセス (C# と Java の比較)」を参照してください。J2ME は、すべてのデバイスで使用できる単一の API ではなく、単一の開発環境を提供しません。さらに J2ME は、構成に応じて KVM、JVM のいずれかの仮想マシン内で実行する必要があります。
C#
C# でデータベースの読み取り操作を実行する場合、デスクトップでもモバイル デバイスでも、接続、コマンド、データ テーブルなどの、なじみのある概念を使用できます。System.Data.SqlServerCe 名前空間およびクラスを使用して操作を実行できます。たとえば、以下を使用できます。
データベース接続のために 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 のコンストラクタに渡します。
da = new SqlCeDataAdapter("SELECT * FROM Users", cn);
DataTable オブジェクトは、DataAdapter オブジェクトの Fill メソッドを使用して作成します。DataAdapter オブジェクトには、クエリによって返された結果データ セットが含まれます。DataAdapter オブジェクトを反復処理し、Rows コレクションを使用してデータ行にアクセスできます。
モバイル デバイス上の 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]);
}
}
}
}
詳細については、次のトピックを参照してください。
コードのコンパイル
SQLCE データベースをアプリケーションから操作する前に、System.Data.SqlServerCe への参照をプロジェクトに追加する必要があります。これを行うには、開発環境で [プロジェクト] メニューの [参照の追加] をクリックします。次に、[参照の追加] ダイアログ ボックスで System.Data.SqlServerCe コンポーネントを選択します。
メモ : |
---|
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。 |
プログラミングの注意点
コードをコンパイルして実行するには、以下が必要です。以下がない場合、da.Fill(dt); は失敗し、例外がスローされます。
デバイスにインストールされている SQL Server CE。
SQLCE データベース (Database.sdf) に対するテスト用のデータを含むデータベース テーブル。このテーブルは、SQL CE ツールを使用してデバイス上に作成できます。また、SQL Server デスクトップからレプリケートして .sdf ファイルを生成することもできます。.sdf ファイルは、プロジェクトに追加することも、接続文字列で指定されたディレクトリに手動でコピーすることもできます。