此演练将介绍如何在使用 Microsoft SQL Server 2005 Compact Edition 的 Microsoft Visual Studio 2005 中创建应用程序。
添加数据连接
-
在主窗口中,切换回 Form1 的“设计”(默认)视图。
-
从“数据”菜单中,单击“添加新数据源”。
-
注意 如果未显示“添加新数据源”,请选择 Form1 的“设计”视图,然后再次查看“数据”菜单。
-
在“选择数据源类型”窗口上,选择“数据库”,然后单击“下一步”。
-
在“选择您的数据连接”对话框中,单击“新建连接”。
-
如果显示“添加连接”对话框,请单击“更改”。
-
在“选择数据源”对话框的“数据源”中,选择“Microsoft SQL Server Compact Edition”(如果连接已存在,则此对话框的名称可能为“更改数据源”)。在数据访问接口列表中,选择“.NET Framework Data Provider for SQL Server Compact Edition”。单击“继续”或“确定”。
-
在“添加连接”对话框的“数据源”中,选择“我的电脑”。
-
在“连接属性”部分的“数据库”中,单击“浏览”,然后浏览到前面过程中创建的数据库。如果按照步骤操作,该数据库位于 c:\sqlmobile.sdf。
-
单击“测试连接”,然后单击“确定”以创建新的数据连接。
-
在“选择您的数据连接”对话框中,单击“下一步”。
-
如果此时出现对话框,要求您将数据文件复制到当前项目中,请单击“是”。
-
在“保存连接字符串”窗口中,单击“下一步”。
-
在“选择您的数据库对象”窗口中,选择“表”,然后单击“完成”。
选择要显示的数据
-
从“数据”菜单中,选择“显示数据源”。
-
将“MembershipData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1 上创建数据网格,并自动提供列名称。
-
右键单击数据网格,然后单击“属性”。
-
在“属性”窗口中,将“停靠”值更改为“顶部”。可以通过单击出现的图形表示的顶部栏,或者在值字段中键入“顶部”来完成此操作。将会对数据网格进行移动并调整其大小以填充 Form1 的顶部。
-
在数据网格的右上角,单击小箭头。从显示的菜单中,选择“生成数据窗体”。
-
将“FlightData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1 上创建数据网格,并自动提供列名称。
-
您可以使用该数据网格的“属性”设置将“停靠”属性设置为“底部”。
添加节点
在应用程序的代码页中,可添加包含数据库文件的路径和名称的字符串变量、用于删除数据库文件(如果已存在)的代码、用于创建与 SQL Server 发布的连接、同步数据和创建一个包含已发布数据的新本地数据库的代码。
添加代码
-
在解决方案资源管理器中,右键单击“Form1”,然后选择“查看代码”。
-
在代码页中,查找 Form1 的类定义。添加一个字符串变量,并赋值为 .sdf 文件的路径和文件名。Visual Studio 在先前步骤中创建的数据源需要数据库文件驻留在 \Program Files\ApplicationName 文件夹中,其中 ApplicationName 为应用程序的名称。例如,如果您命名了新项目 SQLMobile,则应将字符串变量设置为 "\Program Files\SQLMobile\sqlmobile.sdf"。
-
类定义的前几行应该与以下代码类似:
[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 |