使用 SQL Server Compact Edition 创建移动应用程序

此演练将介绍如何在使用 Microsoft SQL Server 2005 Compact Edition 的 Microsoft Visual Studio 2005 中创建应用程序。SQL Server Compact Edition 数据库将成为 SQL Server 2005 发布的订阅服务器,并且将使用合并复制从 SQL Server 2005 数据库中将信息下载到 SQL Server Compact Edition 数据库。

在此演练中,您将执行下列步骤:

  1. 配置 SQL Server 2005 发布。
  2. 配置 Internet 信息服务 (IIS) 以进行复制。
  3. 创建 SQL Server Compact Edition 订阅。
  4. 创建应用程序。
  5. 部署应用程序并测试订阅。

必备项

若要按照此演练中所写的步骤执行此演练,则必须满足下列条件:

  • 安装有 Windows XP 和 IIS 的计算机。
  • SQL Server 2005 Service Pack 2 (SP2) 或更高版本,与 Visual Studio 安装在同一台计算机上。

SQL Server 2005 任务

在创建应用程序之前,必须在 SQL Server 2005 中配置发布。在下列步骤中,您将创建一个示例数据库,然后从该数据库发布数据。您将使用预建的脚本文件创建数据库,然后使用新建发布向导来创建发布。

创建数据库并在其中填充数据

  1. 打开 SQL Server Management Studio。

  2. 当提示您连接服务器时,请在“服务器名称”中键入 (local),然后单击“连接”。

  3. 打开一个新查询窗口。创建 SQL Server Compact Edition 数据库,并用数据填充该数据库。

    USE master;
    GO
    IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'SQLMobile') 
    BEGIN
        DROP Database SQLMobile;
    END
    GO
    CREATE DATABASE SQLMobile;
    GO
    USE SQLMobile;
    GO
    CREATE TABLE MembershipData (MemberID INTEGER IDENTITY (1,1) 
        CONSTRAINT pkMemberID PRIMARY KEY, MemberName NVarChar (50));
    CREATE TABLE FlightData (MemberID INTEGER FOREIGN KEY REFERENCES 
        MembershipData(MemberID), Destination NVarChar (50), FlightStatus 
        NVarChar(50), ArrivalDate DATETIME, FlownMiles INTEGER);
    INSERT INTO MembershipData (MemberName) VALUES ('Mr Don Hall');
    INSERT INTO MembershipData (MemberName) VALUES ('Mr Jon Morris');
    INSERT INTO MembershipData (MemberName) VALUES ('Ms TiAnna Jones');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (1, 'Seattle', 'Flight Delayed 1 hour', '8/25/00', '20000');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (2, 'London', 'Flight on time', '9/12/00', '15000');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (3, 'Sydney', 'Flight Gate Closing', '11/5/00', '30000');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (1, 'Tokyo', 'Delayed Fog', '5/25/00', '25000');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (2, 'Minneapolis', 'Flight on time', '5/1/00', '1000');
    INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles) 
        VALUES (3, 'Memphis', 'Flight Gate Closing', '1/5/00', '1000');
    GO
    
  4. 单击“执行(!)”运行该脚本并创建数据库。此时,将运行该脚本,创建一个名为 SQLMobile 的新数据库。

    注意:
    您还可以按 F5,或者从“查询”菜单中选择“执行”来运行该查询。
  5. 若要确认该数据库已创建,请在对象资源管理器中,展开“(本地)”,展开“数据库”,然后展开“SQLMobile”。如果没有列出 SQLMobile 数据库。请右键单击“数据库”,然后选择“刷新”以更新数据库列表。

准备服务器以发布数据

在创建发布之前,必须创建快照代理用户帐户,并创建一个将在其中存储快照文件的共享文件夹,准备服务器以进行发布。创建快照文件夹之后,该文件夹将用于服务器上的所有发布。如果以前已在此服务器上创建了发布,您可以跳过这些步骤。

创建快照用户帐户

  1. 从“控制面板”的“管理工具”中打开“计算机管理”。

  2. 在“计算机管理”中,展开“系统工具”,展开“本地用户和组”,右键单击“用户”,然后选择“新用户”。

  3. 在“新用户”对话框中,键入以下信息,然后单击“创建”:

字段

用户名

snapshot_agent

密码

p@ssw0rd

确认密码

p@ssw0rd

用户下次登录时须更改密码

未选中

密码永不过期

选中

重要事项:
这些设置应该仅用于测试。在生产环境中,请确保用户帐户设置符合您的网络安全要求。通常,您将对快照代理使用域用户帐户而不是使用本地用户帐户。

创建快照文件夹

  1. 在 Windows 资源管理器中,创建一个名为“snapshot”的新文件夹。在此演练中,您可以在驱动器 C 的根目录下创建该文件夹:c:\snapshot。右键单击“snapshot”文件夹,然后选择“共享和安全”。

  2. 在“共享”选项卡上,选择“共享该文件夹”,然后单击“权限”。

  3. 在“快照的权限”中,单击“添加”。

  4. 在“输入要选择的对象名称”中,键入 computername\snapshot_agent(其中 computername 为本地计算机的名称),单击“检查名称”,然后单击“确定”。

  5. 在“快照的权限”中,选择“snapshot_agent”,分配“更改”和“读取”共享权限,然后单击“确定”。

  6. 选择“安全”选项卡。

  7. 单击“添加”。

  8. 在“输入要选择的对象名称”中,键入 computername\snapshot_agent(其中 computername 为本地计算机的名称),单击“检查名称”,然后单击“确定”。

  9. 选择“snapshot_agent”,然后将“写入”权限添加到已启用的权限列表中。现在,snapshot_agent 帐户将被授予下列权限:

    • 读取和执行
    • 列出文件夹目录
    • 读取
    • 写入
  10. 单击“确定”关闭“快照属性”窗口。

  11. 关闭 Windows 资源管理器。

创建发布

  1. 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”节点(如果当前尚未展开),然后展开“复制”。

  2. 右键单击“本地发布”文件夹,然后选择“新建发布”。

  3. 在新建发布向导简介屏幕上,单击“下一步”。

  4. 如果以前未曾在此计算机上创建发布,将提示您配置分发服务器。选择第一个选项将本地计算机作为它自己的分发服务器,然后单击“下一步”。

  5. 如果以前未曾在此计算机上创建发布,将提示您指定快照文件夹。键入前面过程中创建的快照文件夹的共享路径。以 \\servername\share 格式键入共享路径,不要键入本地路径。在此演练中,我们建议您键入 \\computer\snapshot(其中 computer 是您计算机的名称),然后单击“下一步”。

  6. 在数据库列表中,选择“SQLMobile”,然后单击“下一步”。

  7. 在发布类型列表中,选择“合并发布”,然后单击“下一步”。

  8. 在“订阅服务器类型”页中,选择“是”以启用对 SQL Server Compact Edition 订阅服务器的支持,然后单击“下一步”。

  9. 在要发布的对象列表中,选中“表”复选框。如果展开“表”,您将发现 SQLMobile 数据库中的两个表都已被选中。单击“下一步”。

  10. 会通知您将向表中添加唯一标识符。所有合并项目均需要 uniqueindentifier 列。单击“下一步”。

  11. 在“筛选表行”页中,现在即可添加对已发布数据的筛选器。对于此演练,您将无需筛选数据。单击“下一步”。

  12. 在“快照代理”页中,您可以配置创建快照的时间以及快照代理运行的频率。单击“下一步”以接受默认设置。

  13. 在“代理安全性”对话框中,单击“安全设置”。

    1. 在“快照代理安全性”对话框中,输入前面过程中所创建帐户的登录信息。进程帐户为 computer_name\snapshot_agent(其中 computer_name 是您计算机的名称),密码为 p@ssw0rd。
    2. 单击“确定”以保存设置。
    3. 在“代理安全性”页中,单击“下一步”。
  14. 在“向导操作”屏幕上,您可以确定创建发布的时间以及是否希望创建脚本文件。清除“立即创建快照”,然后单击“下一步”。

  15. 在“完成该向导”屏幕上,键入 SQLMobile 作为发布的名称,然后单击“完成”。

  16. 将创建发布。向导完成后,单击“关闭”。

设置权限

您必须为快照代理帐户和 IIS 匿名用户帐户授予权限。还必须将 IIS 匿名用户帐户添加到发布访问列表 (PAL) 中。

设置数据库权限

  1. 在 的对象资源管理器中,展开“安全性”,右键单击“登录名”,然后选择“新建登录名”。

  2. 在“新建登录名”对话框中,选择“Windows 身份验证”,单击“搜索”,在“输入要选择的对象名称”框中键入 computername\snapshot_agent(其中 computername 为您的计算机名称),单击“检查名称”,然后单击“确定”。

  3. 在导航窗格中,选择“用户映射”窗格。

  4. 在数据库列表中,选择“distribution”和“db_owner”角色,选择“SQLMobile”和“db_owner”角色,然后单击“确定”。

  5. 右键单击“登录名”,然后选择“新建登录名”。

  6. 在“新建登录名”对话框中,选择“Windows 身份验证”,单击“搜索”,在“输入要选择的对象名称”框中键入 computername\iusr_computername(其中 computername 为您的计算机名称),单击“检查名称”,然后单击“确定”。

  7. 在导航窗格中,选择“用户映射”窗格。

  8. 在数据库列表中,选择“distribution”和“SQLMobile”,然后单击“确定”。

授予发布权限

  1. 在对象资源管理器中,展开“复制”,展开“发布”,右键单击“[SQLMobile]:SQLMobile”发布,然后单击“属性”。

  2. 在导航窗格中,选择“发布访问列表”。

  3. 单击“添加”。在“添加发布访问项”对话框中,列出了 IUSR 帐户。选择该帐户,然后单击“确定”。

  4. 请确保 IUSR 帐户当前位于 PAL 中,然后单击“确定”。

创建发布快照

只有在创建发布快照之后才可对 SQLMobile 发布的订阅进行初始化。

创建发布快照

  1. 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”计算机节点。

  2. 展开“本地发布”文件夹,选择发布名称,右键单击“SQLMobile”,然后单击“查看快照代理状态”。

  3. 在“查看快照代理状态”对话框中,单击“启动”。

    在进行下一操作之前,请确保已成功完成快照作业。

配置 IIS 和 SQL Server 2005 以实现 Web 同步

既然已对 SQL Server 配置了一个发布,则必须使该发布可以通过网络供 SQL Server Compact Edition 客户端使用。SQL Server Compact Edition 可通过 IIS 连接到 SQL Server。即,创建虚拟目录并对其进行配置,从而允许客户端访问 SQL Server Compact Edition 服务器代理。

安装 SQL Server Compact Edition 服务器组件

  1. 在 Windows 资源管理器中,定位到以下目录:

    C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE

  2. 双击 sqlce30setupen.msi 运行安装程序。

  3. 在“安装”向导的简介屏幕上,单击“下一步”。

  4. 阅读并接受 Microsoft 软件许可条款,然后单击“下一步”。

  5. 在“系统配置检查”屏幕上,确保所有项都通过检查。如果尚未安装 SQL Server 2000,则将列出该列表的最后一项作为警告。因为您正在使用 SQL Server 2005,所以这并不是问题。单击“下一步”。

  6. 在接下来的屏幕上,单击“下一步”,然后单击“安装”开始安装。

  7. 单击“完成”。

配置发布以进行 Web 同步

  1. 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”计算机节点。

  2. 展开“本地发布”文件夹,选择发布名称,右键单击该名称,然后选择“配置 Web 同步”。

  3. 在该向导的简介屏幕上,单击“下一步”。

  4. 在“订阅服务器类型”屏幕上,选择“SQL Server Compact Edition”,然后单击“下一步”。

  5. 在“Web 服务器”屏幕的“运行 IIS 的计算机”文本框中,键入您计算机的名称(如果尚未提供),然后单击“创建新的虚拟目录”。

  6. 在显示的树中,展开该计算机,展开“网站”,然后选择“默认网站”。

  7. 单击“下一步”。

  8. 在“虚拟目录信息”屏幕上的“别名”文本框中,键入 SQLMobile,然后单击“下一步”。

    如果收到警告对话框,请单击“是”。

  9. 在“安全通信”屏幕中,选择“不需要使用安全通道 (SSL)”。

  10. 重要提示   在生产环境中,应该启用 SSL 加密以保护在订阅服务器与运行 IIS “客户端身份验证”屏幕的服务器之间通过 Internet 交换的数据,选择“客户端将以匿名方式进行连接”,然后单击“下一步”。

  11. 在“匿名访问”屏幕上,单击“下一步”接受默认设置。

  12. 在“快照共享访问”屏幕上,键入 \\computer\snapshot(其中 computer 是您计算机的名称),然后单击“下一步”。

    如果收到快照共享为空的警告,请单击“是”。

  13. 单击“完成”。

  14. 单击“关闭”。

  15. 在 Internet Explorer 的“地址”中,输入 URL https://localhost/SQLMobile/sqlcesa30.dll?diag,然后单击“转到”。从而以诊断模式连接到服务器。确保 SQL Server Compact Edition 服务器代理诊断报告显示成功。

SQL Server Compact Edition 任务

如果在开发要使用 SQL Server Compact Edition 的应用程序之前预先创建 SQL Server Compact Edition 数据库和订阅,通常会节省大量时间。SQL Server Management Studio 允许您在本地计算机上创建并使用 SQL Server Compact Edition 数据库。然后,您可以在开发应用程序时使用此数据库。

创建新的 SQL Server Compact Edition 数据库

  1. 在 SQL Server Management Studio 的对象资源管理器中,单击“连接”,然后选择“SQL Server Compact Edition”。

  2. 在“数据库文件”字段中,选择“<新建数据库…>”。

  3. 在文件名文本框中,键入 c:\sqlmobile.sdf,然后单击“确定”。

    如果您收到有关空密码的警告,请单击“是”。本教程中的数据库没有密码保护或进行加密。

  4. 在“连接到服务器”对话框中,单击“连接”。

    将在对象资源管理器中添加名为“SQL Server Compact Edition [My Computer\...\sqlmobile]”的新节点。

创建新的订阅

  1. 在对象资源管理器中,展开“SQL Server Compact” Edition节点,展开“复制”,右键单击“订阅”,然后选择“新建订阅”。

  2. 在简介屏幕上,单击“下一步”。

  3. 在“选择发布”屏幕的“发布服务器”下拉列表中,选择“<查找 SQL Server 发布服务器…>”。

  4. 在“连接到服务器”对话框中,键入或选择本地计算机名称,然后单击“连接”。

  5. 在“选择发布”屏幕的发布列表中,展开“SQLMobile”,选择“SQLMobile”发布,然后单击“下一步”。

  6. 在“标识订阅”屏幕上,为订阅名称键入 SQLMobile,然后单击“下一步”。

  7. 在“Web 服务器身份验证”屏幕上,键入前面过程中创建的虚拟目录的 URL。在此演练中,您已经创建了 URL 为 https://localhost/SQLMobile 的虚拟目录。

  8. 单击“订阅服务器将以匿名方式进行连接”,然后单击“下一步”。

  9. 在“SQL Server 身份验证”屏幕上,单击“下一步”接受默认设置。

    在最终屏幕上,该向导将显示示例代码,您可以在应用程序中创建订阅时使用该代码。选择示例代码(Visual Basic 或 C#,取决于您在创建应用程序时使用的语言),然后复制代码。若要执行复制操作,请选择该代码并按 Ctrl+C,启动记事本或其他文本编辑器,然后粘贴该示例代码。在使用下列步骤创建应用程序时,您将使用此代码。

  10. 在复制示例代码之后,单击“完成”。

  11. 单击“关闭”。

生成应用程序

创建新的智能设备项目

  1. 打开 Visual Studio 2005。

  2. 在“文件”菜单上,选择“新建项目”。

  3. 在“新建项目”对话框的“项目类型”树中,展开您所使用的开发语言,然后选择“智能设备”。

  4. 在模板列表中,选择要创建的项目类型。对于此演练,请选择“Pocket PC 2003 应用程序”。

  5. 为该项目提供名称和位置,然后单击“确定”。对于此演练,请将该项目命名为 SQLMobile。

    Visual Studio 将创建新的项目,并显示 Form1,这类似于在智能设备上进行显示。

添加引用

  1. 在解决方案资源管理器中,右键单击“引用”,然后选择“添加引用”。

    注意:
    如果解决方案资源管理器中没有列出“引用”文件夹,那么单击解决方案资源管理器顶部的“显示所有文件”。
  2. 在 .NET 程序集列表中,选择“System.Data.SqlServerCe”,然后单击“确定”。如果没有列出 System.Data.SqlServerCe,请执行下列步骤:

    1. 单击“浏览”选项卡。
    2. 定位到以下目录:
      C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
    3. 选择“System.Data.SqlServerCe.dll”,然后单击“确定”。

    解决方案资源管理器中的引用列表现在包括 System.Data.SqlServerCe,并且您的项目可以使用该程序集。

  3. 在解决方案资源管理器中,右键单击“Form1.cs”或“Form1.vb”,然后选择“查看代码”。

  4. 在窗体的代码顶部,添加指令以使用 System.Data.SqlServerCe 命名空间:

    [C#]

    using System.Data.SqlServerCe;
    

    [VB]

    Imports System.Data.SqlServerCe
    

添加数据连接

  1. 在主窗口中,切换回 Form1 的“设计”(默认)视图。

  2. 从“数据”菜单中,单击“添加新数据源”。

    注意   如果未显示“添加新数据源”,请选择 Form1 的“设计”视图,然后再次查看“数据”菜单。

  3. 在“选择数据源类型”窗口上,选择“数据库”,然后单击“下一步”。

  4. 在“选择您的数据连接”对话框中,单击“新建连接”。

  5. 如果显示“添加连接”对话框,请单击“更改”。

  6. 在“选择数据源”对话框的“数据源”中,选择“Microsoft SQL Server Compact Edition”(如果连接已存在,则此对话框的名称可能为“更改数据源”)。在数据访问接口列表中,选择“.NET Framework Data Provider for SQL Server Compact Edition”。单击“继续”或“确定”。

  7. 在“添加连接”对话框的“数据源”中,选择“我的电脑”。

    在“连接属性”部分的“数据库”中,单击“浏览”,然后浏览到前面过程中创建的数据库。如果按照步骤操作,该数据库位于 c:\sqlmobile.sdf。

  8. 单击“测试连接”,然后单击“确定”以创建新的数据连接。

  9. 在“选择您的数据连接”对话框中,单击“下一步”。

  10. 如果此时出现对话框,要求您将数据文件复制到当前项目中,请单击“是”。

  11. 在“保存连接字符串”窗口中,单击“下一步”。

  12. 在“选择您的数据库对象”窗口中,选择“表”,然后单击“完成”。

选择要显示的数据

  1. 从“数据”菜单中,选择“显示数据源”。

  2. 将“MembershipData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1 上创建数据网格,并自动提供列名称。

  3. 右键单击数据网格,然后单击“属性”。

  4. 在“属性”窗口中,将“停靠”值更改为“顶部”。可以通过单击出现的图形表示的顶部栏,或者在值字段中键入“顶部”来完成此操作。将会对数据网格进行移动并调整其大小以填充 Form1 的顶部。

  5. 在数据网格的右上角,单击小箭头。从显示的菜单中,选择“生成数据窗体”。

  6. 将“FlightData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1 上创建数据网格,并自动提供列名称。

  7. 您可以使用该数据网格的“属性”设置将“停靠”属性设置为“底部”。

添加节点

在应用程序的代码页中,可添加包含数据库文件的路径和名称的字符串变量、用于删除数据库文件(如果已存在)的代码、用于创建与 SQL Server 发布的连接、同步数据和创建一个包含已发布数据的新本地数据库的代码。

添加代码

  1. 在解决方案资源管理器中,右键单击“Form1”,然后选择“查看代码”。

  2. 在代码页中,查找 Form1 的类定义。添加一个字符串变量,并赋值为 .sdf 文件的路径和文件名。Visual Studio 在先前步骤中创建的数据源需要数据库文件驻留在 \Program Files\ApplicationName 文件夹中,其中 ApplicationName 为应用程序的名称。例如,如果您命名了新项目 SQLMobile,则应将字符串变量设置为 "\Program Files\SQLMobile\sqlmobile.sdf"

  3. 类定义的前几行应该与以下代码类似:

    [C#]

    public partial class Form1 : System.Windows.Forms.Form
    {
       private System.Windows.Forms.MainMenu mainMenu1;
       string filename = @"\Program Files\SQLMobile\sqlmobile.sdf";
    
       public Form1()
       {
          InitializeComponent();
       }
    

    [Visual Basic]

    Public Class Form1
    
        Dim filename As New String _
          ("\Program Files\SQLMobile\sqlmobile.sdf")
    
  4. 如果当前存在数据库文件,则将创建新方法将该数据库文件删除。这将确保应用程序在每次运行时加载最新的数据。此方法应该命名为 DeleteDB。此代码应该与以下代码类似:

    [C#]

    private void DeleteDB()
    {
       if (System.IO.File.Exists(filename)) 
       {
          System.IO.File.Delete(filename);
       }
    }
    

    [Visual Basic]

    Sub DeleteDB()
       If System.IO.File.Exists(filename) Then
          System.IO.File.Delete(filename)
       End If
    End Sub
    
  5. 创建名为“Sync”的执行同步的新方法。若要执行此操作,您将使用从前面步骤的“新建发布向导”中复制的代码。在粘贴代码后,必须对代码执行两项更改:

    1. 更改 SubscriberConnectionString 值,以便该值指向文件名变量中指定的正确路径和文件名。

    2. 将 AddOption 值从 ExistingDatabase 更改为 CreateDatabase。
      更改完成后,Sync 方法应如下所示:
      [C#]

      private void Sync()
      {
         SqlCeReplication repl = new SqlCeReplication();
      
         repl.InternetUrl = @"http://<computername>/sqlmobile/sqlcesa30.dll";
         repl.Publisher = @"<computername>";
         repl.PublisherDatabase = @"SQLMobile";
         repl.PublisherSecurityMode = SecurityType.NTAuthentication;
         repl.Publication = @"SQLMobile";
         repl.Subscriber = @"SQLMobile";
         repl.SubscriberConnectionString = @"Data Source='" + filename + 
           "';Password='';Max Database Size='128';Default Lock Escalation 
           ='100';";
         try
         {
            repl.AddSubscription(AddOption. CreateDatabase);
            repl.Synchronize();
         }
         catch (SqlCeException e)
         {
            MessageBox.Show(e.ToString());
         }
      }
      

      [Visual Basic]

      Sub Sync()
         Dim repl As New SqlCeReplication()
         repl.InternetUrl = "http://<computername>/SQLMobile/sqlcesa30.dll"
         repl.Publisher = "<computername>"
         repl.PublisherDatabase = "SQLMobile"
         repl.PublisherSecurityMode = SecurityType.NTAuthentication
         repl.Publication = "SQLMobile"
         repl.Subscriber = "SQLMobile"
         repl.SubscriberConnectionString = _
            "Data Source='" + filename + "';Password='';" _ 
            & "Max Database Size='128';Default Lock Escalation ='100';"
         try
            repl.AddSubscription(AddOption. CreateDatabase) 
            repl.Synchronize() 
         catch err as SqlCeException
            MessageBox.Show(err.ToString)
         end tryEnd Sub
      
  6. 最后,在调用最新创建的两个方法的 Form1_Load 事件处理程序的开头添加代码。Form1_Load 事件处理程序应如下所示:

    [C#]

    private void Form1_Load(object sender, EventArgs e)
    {
       DeleteDB();
       Sync();
    
    // TODO: Delete this line of code.
       this.flightDataTableAdapter.Fill(this.sqlmobileDataSet.FlightData);
    // TODO: Delete this line of code.
       this.membershipDataTableAdapter.Fill(this.sqlmobileDataSet.MembershipData);
    }
    

    [Visual Basic]

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       DeleteDB()
       Sync()
    
       'TODO: Delete this line of code.
       Me.FlightDataTableAdapter.Fill(Me.SqlmobileDataSet.FlightData)
       'TODO: Delete this line of code ...
       Me.MembershipDataTableAdapter.Fill(Me.SqlmobileDataSet.MembershipData)
    End Sub
    

部署并测试应用程序

部署应用程序

  1. 从“调试”菜单中,选择“启动调试”。

  2. 如果此时显示“部署”对话框,请选择“Pocket PC 2003 SE 仿真程序”,然后单击“部署”。

  3. 此时,将会在新窗口中打开该仿真程序。在首次将应用程序部署到该仿真程序时,将安装 .NET Compact Framework 和 SQL Server Compact Edition。该过程可能需要几分钟的时间。当它们安装完成后,将安装您的应用程序并运行。

    您的应用程序将加载并显示这两个数据网格。单击“MembershipData”数据网格中的值时,会自动更新“FlightData”数据网格中的数据。

  4. 关闭该应用程序,并在 Visual Studio 的“调试”菜单上,单击“停止调试”。

请参阅

概念

保护数据库 (SQL Server Compact Edition)

帮助和信息

获取 SQL Server Compact Edition 帮助