文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在 Windows Mobile 5.0 应用程序中创建并使用 SQL 服务器移动版本数据库

在 Windows Mobile 5.0 应用程序中创建并使用 SQL 服务器移动版本数据库

时间:2010-09-10  来源:sunfish

在这一练习中,您将要使用 SQL Server Management Studio 来创建一个独立的 SQL Mobile Vendor 数据库。您还会创建一个 Windows Mobile 5.0 应用程序来浏览并维护 SQL Mobile 数据库中的 Vendor 数据。 Vendor 数据库基于 SQL Server 2005 随机自带的 AdventureWorks 样本数据库。

创建一个 SQL Mobile 数据库

1. 选择“Start | All Programs | Microsoft SQL Server 2005 | SQL Server Management Studio”,启动 SQL Server Management Studio。

2. 在“Connect to Server”对话框中,点击“Server type”下拉选择列表,并点击选择“SQL Server Mobile”,设置如下图所示。

图 1. 选择 SQL Server Mobile 作为服务器类型

3. 点击“Database file”下拉选择列表,并点击选择<New Database…>。

此时将会出现“Create New SQL Server 2005 Mobile Edition Database”对话框,设置如下图所示:

图2:创建新的 SQL Server 2005 Mobile Edition 数据库

4. 在“Enter the new SQL Server 2005 Mobile Edition database filename”框中输入C:\Program Files\Windows Mobile Developer Samples\HOLs\HOL302_SQL_Mobile\Exercises\Exercise1\Vendors.sdf。

5. 保留其它选项的默认值,并点击 OK。

6. 如果提示“Password is either not provided or blank”,请选择 Yes ,以空密码的形式继续进行。

注意 从安全角度来讲,我们并不推荐这样做。然而,在本实验中,为简单起见,您可以如此设置。

7. 点击 Connect 连接到新的 SQL Mobile 数据库,设置如下图所示。

图3:连接到新的 SQL Server 2005 Mobile Edition 数据库

在新的 SQL Mobile 数据库中创建数据表

虽然您可以以交互的方式创建数据表和其他数据库实体,它与连接到SQL Server 2005数据库直接进行操作的方法非常相似,但是,为方便起见,最好以脚本的方式在新 SQL Mobile 数据库中创建一个 Vendor 数据表。

1. 在 SQL Server Management Studio 中,点击“File | Open | File”,浏览“C:\Program Files\Windows Mobile Developer Samples\HOLs\HOL302_SQL_Mobile\Setup”,选择文件 CreateVendor.sqlce 并将其打开。

2. 检查“Database file”下拉对话框,选择您新创建的 Vendors.sdf 数据库文件的全路径,并点击“Connect”。

3. 点击“Query | Execute”以创建 Vendor 表格。“Message”窗格将会出现 4 次,消息内容为“1 row(s) affected”。

4. 在“Object Explorer”窗格中,右键点击 Tables 文件夹,并点击选择 Refresh ;展开 Tables 文件夹,并验证是否已经生成一个 Vendor 数据表。

5. 此时,您需要展开 Vendor 数据表及其 Columns 文件夹,以熟悉其表结构;该结构正好和 AdventureWorks 样本数据库中的 Vendors 数据表结构是一致的。在下一个练习中,您将会明白为什么这正是我们所希望的。该表格包含了 4 条记录;要浏览这些记录,您可以通过右键点击 SQL Server Mobile 数据库节点并点击以创建一个新的查询。在查询编辑器中,输入“SELECT * FROM Vendor”,并点击“Query | Execute”;如果您需要结束浏览,请关闭查询编辑器窗口;没有必要保存您的修改,即使关闭过程中有提示出现。

6. 现在,您可以关闭 SQL Server Management Studio。

创建一个新的基于 Pocket PC 的 Windows Mobile 5.0 应用程序

1. 点击“Start | All Programs | Microsoft Visual Studio 2005 | Microsoft Visual Studio 2005”,启动 Visual Studio 2005。

2. 点击“File | New | Project”,创建一个新的Windows Mobile 应用程序。

3. 在“New Project ”对话框中,在“Project types”侧选择“Visual C# | Smart Device | Windows Mobile 5.0 Pocket PC”。

注意 根据 Visual Studio 的配置不同,Visual C# 也可能出现在 “Other Languages”下面。

4. 在 Templates 列表框中,选择“Device Application”。

5. 修改 Name 为 AdvWorksMobile,修改 Location为“C:\Program Files\Windows Mobile Developer Samples\HOLs\HOL302_SQL_Mobile\Exercises\Exercise1”,同时确认“Create directory for solution”已经选择,选择 OK 。

图4:新建项目对话框

Visual Studio 创建一个新的工程,并在 Form Designer中打开 Form1

创建 Vendor 列表窗体

1. 在 Visual Studio Solution Explorer 窗格中,右键点击 Form1.cs,并点击 Rename。

2. 输入 VendorList.cs,以作为新文件名,并选择 ENTER 键。

3. 当提示您已经对该项目中 Form1 代码元素的所有引用进行了重命名,请点击 Yes。

4. 如果在窗体设计器中还没有打开 VendorList 窗体,请在 Solution Explorer 窗格中双击文件 VendorList.cs,以打开其窗体设计器。

5. 右键点击窗体设计器内窗体的空白部分,并选择“Properties”。

6. 在 Properties 窗格中,修改 Text 属性的值为“Vendor List”。

7. 修改 MinimizeBox 属性值为 False 。这时,如果该程序运行在设备上,其窗口的右上角就会出现一个 OK 按钮,而不是默认的最小化按钮(看上去像“x”)。通常,当点击这个“x”的时候,Windows Mobile 应用程序最小化,并在后台继续执行。修改该属性值就使得当用户点击 OK 按钮时,窗体真正的被关闭,这样就使得调试程序变得较为简单。因为应用程序在调试的时候可能需要多次部署,而如果应用程序还在后台继续执行的话,这种多次部署将不可能成功。

添加 SQL Mobile Vendors 数据库,作为工程的数据源

1. 打开 Visual Studio 菜单,选择“Data | Add New Data Source”。这时将出现“Data Source Configuration Wizard”。

2. 选择 Database 作为数据源类型,并点击 Next。

图5:在数据源配置向导中选择一个数据源类型

3. 在“Choose Your Data Connection”页面中,点击 New Connection。

4. 在“Add Connection”对话框中,点击 Change 。

5. 选择“Microsoft SQL Server Mobile Edition”,并点击 OK 。

图6:改变数据源.

6. 在“Add Connection”对话框中,确定您已经选择了“My Computer”选项作为数据源。

7. 在“Connection Properties”页面中,选择 Browse 以选择数据库。

8. 浏览目录“C:\Program Files\Windows Mobile Developer Samples\HOLs\HOL302_SQL_Mobile\Exercises\Exercise1”,选择 Vendors.sdf ,并点击 Open 。

9. 点击 OK 以添加该连接。

图7:添加连接对话框

10. 在“Choose Your Data Connection”页面的下拉列表中出现了新的连接之后,点击 Next 。

图8:选择新建数据连接

11. 如果 Visual Studio 提示您是否将本地数据文件拷贝到当前项目中,并修改其连接,点击 Yes 。

图9:提示消息:将本地数据文件复制到当前项目中

Visual Studio 拷贝文件 Vendors.sdf 到您的项目文件夹中,并设置其属性,使得当应用程序部署的时候,该文件也能够被拷贝到设备上。

12. 在“Choose Your Database Objects”页面上,展开 Tables 目录树,并选择 Vendor左边节点。将“DataSet name”设置为 AdvWorksDataSet ,并点击 Finish。

图10:选择数据库对象页

Visual Studio 将 AdvWorksDataSet.xsd 以及其它相关的文件添加到您的项目中。

添加内容到 Vendor 列表屏幕

1. Visual Studio 界面中应该可以看见 VendorList.cs 窗体设计器。但是,如果您没有找到该设计器,请双击“Solution Explorer”窗格中的 VendorList.cs 以将其打开。

2. 如果“Data Sources”窗格没有出现,请点击“Data | Show Data Sources”。

图11:数据源窗格

3. 您能够拖拽表格及其列到 Windows 窗体设计器中,以创建和数据源相关联的控件。默认的,当整个表被拖拽到窗体设计器时,一个 DataGrid 控件就创建了。在“Data Sources”窗格中,请确信 AdvWorksDataSet 是展开的,点击 Vendor 表并将其拖拽到 VendorList.cs 窗体设计器的任何空白位置。

Visual Studio 为 Vendor 数据表创建一个 DataGrid 控件,如下图所示:

图12:窗体设计器中的DataGrid控件,用来显Vendor表

注意 在组件托盘(该托盘位于窗体设计器的底部)中,Visual Studio 还创建了 advWorksDataSet 数据集, vendorBindingSource 绑定源,以及 vendorTableAdapter数据表适配器,如下图所示。Visual Studio 使用这些运行时可见的控件来将 vendor 数据绑定到 DataGrid 中。

图13:Visual Studio中的组件托盘

4. 右键点击 DataGrid 控件,点击选择 Properties ,在 Properties 窗格中,设置 Location 属性为“0,0”, Size 属性为“240, 268”,以有效的填充整个屏幕。

现在您可以对应用程序的功能进行测试了。

测试应用程序

1. 在 Visual Studio 中,点击选择“Debug | Start Debugging”。

2. 在出现的“Deploy AdvWorksMobile”对话框中,请选择“Windows Mobile 5.0 Pocket PC Emulator”,并点击 Deploy 。

图14:配置 AdvWorksMobile对话框

注意 如果您在本实验中部署应用程序的过程中接收到错误信息,请确认该应用程序没有以附录 A 中所描述的步骤执行,附录 A 请见实验结束之后内容。

Visual Studio 打开“Pocket PC -WM 5.0”设备模拟器,并开始在设备上部署应用程序。首次部署 Windows Mobile 5.0 应用程序可能需要消耗较多一些时间,这是由于此时 .NET Compact Framework 2.0 以及您的应用程序文件都需要拷贝到该设备上,这里还包括了对 SQL Mobile 数据库文件的拷贝。

当应用程序在设备模拟器上出现时,正如下图所示,您应该能够看到在建数据库的过程中所插入的4个厂商的列表。您可以通过左右滑动,并通过控制列表头部一行中的列分割条来设置列的大小,以能够看到表中的所有数据。

图15:正在运行应用程序的模拟器,DataGrid控件显示了Vendor表中的内容

3. 点击 OK 以关闭该窗体,并结束该应用程序。

除了能够简单的浏览厂商列表之外,您的应用程序还需要允许对厂商数据进行编辑。您将很快就会使用 DataGrid的智能标签任务(smart tag task) 来另外生成一个数据窗体。在此之前,您需要为一些不允许空值的数据列设置默认值。

生成添加和编辑功能

1. 在 Visual Studio 的窗体设计器中,如果 VendorList.cs 窗体不存在,则将其打开。

2. 在组件托盘中,点击 advWorksDataSet 组件,并点击控件右上角的智能标签按钮,此时将会出现一个智能标签菜单,如下图所示。

图16:advWorksDataSet组件的智能标签菜单

3. 在 AdvWorksDataSetTasks 列表中,选择“Edit in DataSet Designer”。

此时将打开“AdvWorksDataSet”数据集设计器,并显示Vendor数据表,如下图所示。

图17:AdvWorksDataSet DataSet设计器

4. 点击包含列名包含 PreferredVendorStatus 的 Vendor 数据表中的某一行,在 Properties 窗格中定位“DefaultValue”属性,并将其值修改为 True。

5. 以类似的方法,点击选择 Vendor 数据表中的 ActiveFlag 列名,并将“DefaultValue”其修改为 True 。

现在,您的应用程序需要增加某种功能,以使得数据集中的数据改动能够写入 SQL Mobile 数据库中。

6. 在数据集设计器中,点击“VendorTableAdapter”。

7. 在 Properties 窗格中定位 UpdateCommand 属性,点击其下拉列表,并选择New。

8. 单击 UpdateCommand 属性名称左边的加号,展开该属性,选择 CommandText 并点击省略号按钮。

此时将会出现“Query Builder”对话框,以及“Add Table”对话框,如下图所示。

图18:查询创建和标单添加对话框

9. 在“Add Table”对话框中选择 Close。

10. 在“Query Builder”文本对话框中,通过输入或者拷贝粘贴的方式,写入下文中的 SQL 语句,如代码后续的图例所示。

UPDATE

Vendor

SET

AccountNumber = @AccountNumber,

Name = @Name,

CreditRating = @CreditRating,

PreferredVendorStatus = @PreferredVendorStatus,

ActiveFlag = @ActiveFlag,

PurchasingWebServiceURL = @PurchasingWebServiceURL,

ModifiedDate = @ModifiedDate

WHERE

VendorID = @VendorID

图19:带有SQL语句的查询创建对话框

11. 选择OK

12. 关闭AdvWorksDataSet.xsd 数据集设计器,当提示保存修改时,选择 Yes。

13. 回到VendorList.cs 窗体设计器,点击 DataGrid 控件,并点击控件右上角的智能标签按钮。屏幕上将会出现智能标签菜单,如下图所示。

图20:DataGrid控件的智能标签菜单

14. 从“DataGrid Tasks”列表中,选择“Generate Data Forms”。

正如您在“Solution Explorer”所看到的,Visual Studio 生成了两个新的窗体,VendorEditViewDialog.cs 和 VendorSummaryViewDialog.cs,如下图所示。

图21 Solution Explorer中的两个新窗体在

Visual Studio 还在 VendorList 主菜单中添加了一个新的选项,如下图所示。

图22:在VendorList主菜单中的New菜单

在您的项目中除了您已经看到的这些变化,Visual Studio 还在 VendorList 窗体以及新的窗体中添加了代码。

15. 在“Solution Explorer ”窗格中,右键点击 VendorList.cs,并选择“View Code”。

16. 在代码编辑器中,查找到 newMenuItemMenuItem_Click 方法。该方法已经添加到窗体代码中,用于定义对用户点击 New 菜单项的响应。首先,该方法在 vendorBindingSource 数据绑定源中添加了一条新的记录;然后,它创建了一个 VendorEditViewDialog 窗体的实例,并将其传递给 vendorBindingSource 变量中;最后,该方法对这个窗体实例进行显示。

17. 现在,查看 vendorDataGrid_Click 方法。该方法已经添加到窗体代码中,用于定义对用户点击 DataGrid 控件的响应。该方法创建一个 VendorSummaryViewDialog 窗体实例,将其传递给 vendorBindingSource 变量,并显示在窗体中。

18. 双击“Solution Explorer ”窗格中的 VendorEditViewDialog.cs,打开窗体设计器。

19. 需要注意的是,在该窗体中有一个单独的数据绑定控件,它绑定Vendor表的每一列。

20. 向下拉动滚动条,右键点击“Modified Date”下面的文本框,选择 Properties。

21. 右键点击 Locked 属性,将其值修改为 True;修改 BorderStyle 属性为 None。稍后,您将在记录保存以前添加代码以修改控件的值。因此,控件的文本不应该允许用户编辑。

22. 在 Visual Studio 中选择“View | Code”,浏览窗体代码,并注意,方法 VendorEditViewDialog_Closing 中调用了它在实例化过程中接收到的 vendorBindingSource 数据绑定源中的方法 EndEdit,从而保存了窗体在打开过程中添加和编辑的数据。

23. 调用 EndEdit 之前创建新行,并将当前时间和日期赋值给 ModifiedDate 列。您能够很容易的访问数据绑定源,如以下代码所示:

DataRowView dataRowView =

(DataRowView)this.vendorBindingSource.Current;

AdvWorksDataSet.VendorRow vendorRow =

(AdvWorksDataSet.VendorRow)dataRowView.Row;

vendorRow.ModifiedDate = DateTime.Now;

注意 该窗体的一个更加完全的实现能够提供如下功能:允许用户取消其修改。不过为了节省时间,该功能作为可选部分,留给读者自行实现。

24. 双击“Solution Explorer”窗格中的 VendorSummaryViewDialog.cs,打开窗体设计器。

25. 注意,在该窗体中也有一个单独的数据绑定控件,它绑定Vendor表的每一列,但是,该控件是只读的;该窗体还有一个 Edit 菜单项。

26. 浏览窗体代码,并查找到 editMenuItemMenuItem_Click 方法。该方法对用户点击的 Edit 菜单进行响应,其行为和 VendorList 窗体中的 newMenuItemMenuItem_Click 非常类似。它依赖于以下事实,当 VendorEditViewDialog 窗体打开时,vendorBindingSource 变量的当前记录处于编辑状态。该方法您能够工作,是因为该窗体中的控件和 VendorList 窗体中的 DataGrid 绑定在同一个 vendorBindingSource 实例上。

您需要在程序中增加某种能力,以使得当程序退出时,能够将数据修改提交到 SQL Mobile 数据库文件中。

增加提交修改数据到 SQL Mobile 数据库的功能

1. 双击“Solution Explorer”窗格中的 VendorList.cs ,回到 VendorList 窗体设计器。

2. 点击窗体上的标题栏,在 Properties 窗格中,选择 Events 按钮(上面有一个闪电的符号)

3. 定位并双击 Closing 事件,生成一个事件处理函数,并打开代码编辑器。

4. 增加如下代码到 VendorList_Closing 事件处理函数。

this.vendorTableAdapter.Update(advWorksDataSet);

这段代码使用 vendorTableAdapter 数据表适配器,将 advWorksDataSet 数据集中改变的数据更新到 SQL Mobile 数据库中。

注意 虽然现在的窗体和代码提供了通过菜单的单击来进行增加和编辑数据的能力,然而更加完整的实现将能够允许用户删除记录。不过为了节省时间,该功能作为可选部分,留给读者自行实现。

测试应用程序功能

1. 在 Visual Studio ,点击“Debug | Start Debugging”。

2. 在随后出现的 Deploy AdvWorksMobile 对话框中,确认“Windows Mobile 5.0 Pocket PC Emulator”已经选择,并点击 Deploy。

3. 当设备模拟器中出现应用程序时,点击 DataGrid 中的一行。

注意 您可能需要点击任务栏上设备模拟器的按钮,以让其到后台执行。

4. 此时注意到 VendorSummaryViewDialog 窗体中出现了您所点击的行的详细信息。

图23:点击Vendor表中的一行后,将会显示其详细信息

5. 点击 Edit 菜单项目,打开可编辑的数据窗体。

图24:在模拟器中修改数据

6. VendorEditViewDialog 窗体出现之后,修改一些数据,并点击 OK ,以保存修改的数据。需要注意 Vendor List 窗体中的 DataGrid 得到了更新,以体现您所进行的数据修改。

图25:更新Vendor List

7. 点击 New 菜单项。

8. VendorEditViewDialog窗体出现之后,为新的记录输入数据。

图26:输入一个新记录

9. 点击 OK 以保存数据。注意,Vendor List窗体中的DataGrid更新,以反映您所进行的数据修改。

图27:更新Vendor List中新数据

10. 点击 OK 关闭窗体和应用程序。

在本练习中,您已经学会了如何创建独立的 SQL Mobile 数据库,如何创建 Windows Mobile 应用程序来对这个独立的数据进行维护。然而,在下一个练习中,您将会超出单独的移动数据库应用程序,学会如何在您的移动数据库和后端的 SQL Server 数据库之间进行数据同步。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载