移动设备和数据(C# 与 Java)
09/04/2008
本文内容
更新: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# 中,可以在桌面或移动设备上使用熟悉的连接、命令和数据表等概念来执行数据库读取操作。您可以使用 System.Data.SqlServerCe 命名空间和类。例如,可以执行下列操作:
将 System.Data.SqlServerCe.SqlCeConnection 用于数据库连接。
将 System.Data.SqlServerCe.SqlCeCommand 用于 SQL 命令对象。
将结果集对象(如 DataTable)用于数据表对象。
.NET Framework 提供了 DataAdapter 对象,使您能够轻松地将上述各类结合使用。可以使用该对象的 System.Data.SqlServerCe.SqlCeDataAdapter 连接属性来设置 System.Data.SqlServerCe.SqlCeConnection 对象。
可以使用 DataAdapter 的 System.Data.SqlServerCe.SqlCeDataAdapter.SelectCommand 属性指定要执行的查询,也可以将该查询与连接对象一起传递给 DataAdapter 的构造函数。
da = new SqlCeDataAdapter("SELECT * FROM Users", cn);
可以使用 DataAdapter 对象的 Fill 方法创建 DataTable 对象。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。
在一个名为 Database.sdf 的 SQLCE 数据库上有一个包含一些待测试数据的数据库表。可以在设备上使用 SQL CE 工具生成此表,也可以从 SQL Server 桌面复制该表以生成 .sdf 文件。可以将 .sdf 文件添加到项目,或将它手动复制到连接字符串中指定的目录。
请参见
概念
参考
其他资源