现在的位置: 首页 > 综合 > 正文

探究 Microsoft’s Express Suite 2005

2013年09月05日 ⁄ 综合 ⁄ 共 12544字 ⁄ 字号 评论关闭

对于许多专业开发人员而言,Visual Studio 2003 和 SQL Server 2000 无疑是为企业创建解决方案的极佳组合。然而,对于小规模应用程序,许多开发人员更看重脚本语言的简单易用,而不是面向对象语言的健壮性和代码重用优势。这些开发人员通常使用 Visual Basic 6、传统的 ASP 和 Microsoft Access 创建数据库解决方案。这阻碍了 .NET 技术的推广。即使提供免费版本的 SQL Server 和 MSDE,也不足以有效地替代 Microsoft Access。

为了加快小规模应用程序接受 .NET SQL Server 技术的进程,Microsoft 即将发布一个新的产品线,称为 Express 套件。Express 套件被设计为具有可快速下载、相对便宜,而且容易学习的特性。如果 Express 套件能够成功吸引目前采用脚本语言的广大非企业开发人员,它就可以显著地扩大整个 .NET 市场,并简化非企业开发人员创建的解决方案向专业开发人员管理的企业解决方案转换的过程。本文首先介绍 Express 套件所包含的三个主要产品的社区技术预览版:Visual Basic Express、Visual Web Developer Express 和 SQL Server Express。Express 套件的最终版本预期在下半年发布。

Express 套件介绍

Express 套件提供简化和低价版本的 Visual Basic .NET、C#、C++ 和 J#,它们可以为 .NET Framework 2.0 创建解决方案。可以将 Express 套件看作是入门级的 Visual Studio 2005 版本。

Express 套件还有一个称为 Visual Web Developer Express 的 Web 开发工具,通过这一工具,可以使用 Visual Basic .NET 或 C# 语言来创建 ASP.NET .0 解决方案。它与该套件的另一个成员 SQL Server Express 配合使用。SQL Server Express 与 SQL Server 有一定的关系,类似于 MSDE 与 SQL Server 2000 之间的关系。SQL Server Express 是免费的,它提供 SQL Server 所提供的绝大部分技术,但对您用它构建的解决方案的大小有些限制。您可以从网址是 http://lab.msdn.Microsoft.com/express 的 Express 套件站点开始了解关于任何组件的详细信息。

Express 套件满足许多典型开发环境的核心需要。开发人员可以使用 Visual Basic Express 和其他 Express 套件来为他们的自身教育、小型商务,甚至大型商务中的一个部门构建应用程序。因为这些解决方案是在 .NET Framework 的 2.0 版本上构建的,并且可能融入了 SQL Server 2005 技术,所以如果有这样的需求,它们很容易被企业开发人员所采纳。这种便于升级的能力为组织中的部门解决方案或个体小型商务解决方案增加了价值,促使其成为整个行业的纵向应用程序。

创建数据库

创建数据库

SQL Server Express 自带创建新数据库的向导,但如果您使用的是 Visual Basic Express 或 Visual Web Developer Express,您可能更倾向于使用在这些环境中直接可用的数据库创建向导。这两个向导的操作不同,但默认操作都是在方便的位置存储一个数据库文件,以便应用程序创建该数据库。

使用 Visual Basic Express

要在 Visual Basic Express 中新建一个数据库,首先启动一个新项目或者打开现有项目。右键单击 Solution Explorer 中的项目名称,选择“Add | New Item”。在“Add New Item”对话框中选择 Blank Database 模板。可以接受默认的数据库名称,也可以指定一个新名称,然后单击“Add”。该向导将通过提示信息提醒您,计算机需要安装 SQL Server 版本 9 才能使数据库文件正常工作。这个过程会在项目的根文件夹中添加一个扩展名为 .mdf 的新数据库文件。

只有当您准备关闭项目时,Visual Basic Express 项目文件夹才会提交。当您选择关闭项目时,Visual Basic Express 会询问您保存或放弃更改。对于新项目,选择放弃更改会放弃整个项目,包括它的数据库。对于现有项目,放弃更改就会放弃自上次保存项目文件以来的任何更改。对于每种情况,当这些更改中包含您希望保存的、由 Visual Basic Express 数据库创建向导生成的数据库文件时,请确保保存所有更改。

1 显示 vsdvbe1 项目的 Save Project 对话框。后台的 Solution Explorer 包含一个文件名为 vsdvbe1sse.mdf 的数据库图标。请注意,Save Project 对话框设置为将项目文件夹存储在 C:/Articles 文件夹中。单击该对话框中的“Save”将会在 C:/Articles 文件夹中添加一个 vsdvbe1 文件夹。在 vsdvbe1 文件夹中有另外一个名称与之相同的文件夹,它将作为项目的根文件夹。vsdvbe1sse.mdf 文件就保存在这个二级嵌套的文件夹中。

采用Visual Web Developer Express

打开 Visual Web Developer Express 之后,通常为新项目启动一个新的 Web 站点。默认情况下,Visual Web Developer Express 将新 Web 站点文件夹建在 C:/WebSites 文件夹中。以这种方式打开的新 Web 站点会包含一个 Data 文件夹,项目的 Solution Explorer 将显示该文件夹。要在 Data 文件夹中为当前项目新建一个数据库,请右键单击 Solution Explorer 中的该 Data 文件夹,选择“Add | New Item”。在“Add New Item”对话框中,选择 Database 模板,可以接受默认的数据库名称,也可以定义一个新名称。与 Visual Basic Express 不同,Visual Web Developer Express 会在您处理项目时保存项目文件夹及其内容。不需要单击“Save Project”对话框中的“Save”来保存项目文件。

本文的示例 Visual Web Developer Express 项目名为 vsdvwde1,它在 C:/WebSites 中创建一个具有相同名称的文件夹。vsdvwde1 项目的示例数据库文件名称为 vsdvwde1sse.mdf,保存在 vsdvwde1 Web 站点文件夹的 Data 文件夹中。实际上,Visual Web Developer Express 在 Data 文件夹中还创建了第二个文件,名为 vsdvwde1sse _log.ldf。这第二个文件保存数据库文件的日志。Visual Basic Express 也为它新建的每个数据库文件创建一个日志文件。 2 显示 vsdvwde1 项目的 Solution Explorer。请注意 Data 文件夹中的数据库文件,以及与该数据库文件相关的日志文件。

创建和填充表

Visual Basic Express 和 Visual Web Developer Express 共享创建和填充表的通用图形用户界面。您可以从 Database Explorer 手动创建、填充和编辑表的设计和值。在本文介绍的社区技术预览版中,可以通过选择 Visual Web Developer Express 中的 View | Database Explorer 或 Visual Basic Express 中的 View | Server Explorer 来打开 Database Explorer。

向 Database Explorer 添加一个连接

如果 Database Explorer 不包含您要向其添加表的数据库连接,则必须添加一个到该数据库的连接,以便 Database Explorer 有该数据库的 Tables 图标。右键单击 Database Explorer 中的 Data Connections 来添加新的数据库连接,并选择“Add Connection”,打开“Connection Properties”对话框。这个对话框与 Microsoft 在早期产品中为许多类似任务提供的 Data Link Properties 对话框非常相似。

通过以下步骤指定到 vsdvwde1sse.mdf 数据库文件的连接:

1.

在“Connection Properties”对话框的“Provider”视图中,确认选择了 .NET Framework Data Provider for SQL Server。

2.

切换回“Connection”视图,以完成连接规范。

3.

在标记为 Select 的组合框中,选择或键入一个服务器名称。如果您使用默认指定的实例,则可以指定 /SQLEXPRESS。如果计算机中的 SQL Server Express 是默认实例,而不是指定实例,则可以输入 XPRESS。您也可以打开组合框,选择任意广播其名称的 SQL Server 实例。

4.

除非您在安装时更改 SQL Server Express 的默认身份验证设置,否则选择标题为“UseWindowsNT Integrated Security”的单选按钮。当然,您需要以具有一定权限的用户身份登录到 Windows,从而在 SQL Server Express 数据库中创建表。安装 SQL Server Express 的计算机管理员自然具有这种权限。

5.

将数据库指定为数据库的 .mdf 文件的路径和文件名。对于在 vsdvwde1 项目中创建的数据库文件,路径和文件定为 C:/WebSites/vsdvwde1/Data/vsdvwde1sse.mdf。您可以从标题为“Select or enter a database name”的单选按钮下面的下拉框选择此文件和路径。另外,也可以使用对话框中的 Browse 按钮导航至要连接的数据库文件。单击标题为“Attach a database file as a file name”的单选按钮可以启用该 Browse 按钮。

当您按照这些步骤操作时,会弹出 Connection Properties 对话框来设置到 vsdvwde1sse.mdf 文件的连接,如 3 所示。单击“OK”将连接添加到 Database Explorer 中的 Data Connections 集合。请注意,您指定的是一个数据库文件,而不是将数据库文件附加到服务器实例的数据库名称。SQL Server Express 数据库文件类似于 Jet .mdb 文件,因为您可以在运行时动态连接它们,而文件不会始终由服务器实例管理。

创建表

要在数据库中创建表,请首先展开 Database Explorer 中的 Data Connections,显示出要在其中创建表的数据库的连接。然后,右键单击目标数据库中的“Tables”,选择“Add New Table”。这些操作会打开一个选项卡式窗口,让您以图形方式指定表。该选项卡式窗口有两个窗格。上面的窗格用于指定主要的列属性,即列名称、数据类型以及列是否允许空值。右键单击上面窗格中任意表列的行,可以指定其他列功能,包括列是否作为主键或者列是否检查约束。下面的窗格让您细化和添加在上面窗格中为当前选定列指定的列属性。例如,如果您在上面的窗格中为一列选择 int 数据类型或其他任何整数数据类型,则可以在下面的窗格中为该列指定 Identity 属性。

4 显示用于设计联系人数据表的选项卡式窗口。所有的基本列属性都已指定。例如,所有列都有一个数据类型,而且 ContactID 列还有一个 Identity 属性显示在下面的窗格中。在顶部的窗格中,ContactID 列的右键单击菜单有 Set Primary Key 选项。单击此选项将该列作为表的主键。单击“Standard”工具栏上的“Save”工具,将打开一个对话框,在其中您可以接受默认的表名称,也可以为该表指定一个自定义表名称,例如 Contacts。上述步骤也适用于在 vsdvbe1sse.mdf 文件中创建 Contacts 表。

填充表

在向数据库添加新表之后,您可以手动在表中填充数据。对于要在其中添加表的数据库,表名称会出现在 Tables 集合的 Database Explorer 中。右键单击该表的名称(例如 Contacts),并选择 Show Table Data。此选择将打开以该表的名称命名的选项卡式窗口。窗口中是列标头,它含有空白行上方表中的列名称。这个最初的空白行在第一列左边的边界处含有一个星号。在键入一行列值后,星号会标记出新的最后一行,在其中可以键入其他行的列值。

5 显示 vsdvwde1sse.mdf 数据库中的 Contacts 表,它有两行联系人数据。vsdvbe1sse.mdf 数据库中的 Contacts 表也有这两行数据。

连接和使用数据库

在本地计算机上创建数据库,并在数据库中填充对象和值之后,通常是要允许其他计算机的用户连接到该数据库。有两种操作可以实现这个目标。首先,需要配置 SQL Server Express 实例以侦听对它的连接。可以使用 Computer Manager(一个随 SQL Server Express 安装的图形化工具)来配置 SQL Server Express 实例,以及使用命令行指令来管理 SQL Server Express。在配置 SQL Server Express 实例的连接性之后,通常以编程方式或图形化方式连接到 SQL Server Express 数据库以显示数据或管理该数据库。我将在下面两小节中讨论这两个步骤。

配置网络连接性

默认情况下,SQL Server Express 安装在一台计算机上,所以其他计算机无法连接上它。具体而言,SQL Server Express 不会自动侦听来自其他计算机的连接。这是一个安全措施:如果不需要与另一台计算机相连接,那么您的数据库自身就不公开以避免黑客的潜在攻击。这种安全优势的负面影响是,如果您确实需要它,就不得不启用连接性。对于 SQL Server Express 实例,在默认安装下甚至连旧式客户端(例如,本地 计算机中的 Visual Studio 2003)都不能连接。您可以通过启用协议和启动 SQLBrowser 服务来启用到 SQL Server Express 实例的连接性。

首先,必须通过 Computer Manager 启用命名管道和 TCP/IP 协议。从 Windows Start 按钮启动 Computer Manager,方法是从“All Programs | Microsoft SQL Server”组选择 SQL Computer Manager。连续展开用于 SQLEXPRES 的 SServer Network Configuration 和协议。通过右键单击用于 SQLEXPRESS 的协议中的 Np 和 TCP 项,选择 Enable 项。必须重启 SQL Server Express 实例才能使菜单选择生效。您可以通过 Computer Manager 中的 Services 实现这一点,步骤如下:

1.

展开 Services。

2.

双击 SQL Server。

3.

在右侧窗格中,右键单击 SQLEXPRESS 条目。

4.

在右键单击菜单中选择“Restart”。

在启用协议之后,需要启动 SQLBrowser 服务。可以用以下两个命令行指令来启动和停止此服务。每当重启运行 SQL Server Express 实例的计算机时,都需要重启 SQLBrowser 服务,但命名管道和 TCP/IP 协议的启用状态可以保持到您禁用它们为止。

net start sqlbrowser
net stop sqlbrowser
以编程方式从本地计算机打开数据库

在 Visual Basic Express 和 Visual Web Developer Express 中编程实现到数据库的连接与采用 Visual Studio 2003 实现相同任务非常类似。首先,实例化一个 SqlConnection 实例,并对 ConnectionString 属性赋值,指向要打开的数据库。然后调用 SqlConnection 实例的 Open 方法。当您不再需要该数据库连接时,应该调用 SqlConnection 实例的 Close 方法。

SQL Server Express 有一个特色是 XCopy 数据库部署,它意味着客户端应用程序(例如 Visual Basic Express 项目)可以在运行时动态附加数据库文件,然后在应用程序关闭时释放该数据库文件。这与 SQL Server 的早期版本,甚至与 SQL Server 都有着显著的不同,后两者不断管理它们的数据库文件,不管客户端应用程序是否需要它们。由于有了 XCopy 部署,您可以为 SQL Server Express 数据库使用与其他 SQL Server 版本不同的连接字符串,甚至为其他版本的 SQL Server 使用这样的连接字符串。

在 Express 套件客户端应用程序中,通常用 AttachDBFileName 参数来为连接字符串指定数据库文件名和路径。Database 或 Initial Catalog 参数的使用是可选的。如果您在连接字符串中将 Database 和 Initial Catalog 参数与 AttachDBFileName 参数一起使用,则不必为该 Database 或 Initial Catalog 参数赋值。对于指向 vsdvbe1sse.mdf 数据库文件的连接字符串,正确的 AttachDBFileName 参数值是 C:/Articles/vsdvbe1/vsdvbe1/ vsdvbe1sse.mdf。

SQL Server Express 也支持不断附加数据库,这对 SQL Server 来说更典型。SQL Server Express 安装过程将 master.mdf 数据库文件附加到它安装的实例上。您也可以使用 T-SQL 技术(例如 sp_attach_db 系统存储过程)来附加任何数据库文件,以不断受 SQL Server Express 实例管理。当使用一个已附加的数据库文件时,请在连接字符串中使用 Database 或 Initial Catalog 参数来表示数据库,而不使用 AttachDBFileName 参数。

下面的代码摘录演示了一种连接到 SQL Server Express 数据库的方法。这段代码适用于 Visual Basic Express,但同样的方法也适用于 Visual Web Developer Express。该示例对 vsdvbe2 项目中的 Form1 上的 Button1 使用 Click 事件过程,以此连接到 vsdvbe1sse.mdf 数据库文件。由于 Button2 的 Click 事件过程对 vsdvwde1sse.mdf 文件执行相同的任务,所以应用程序使用 CNN 类来允许重用两个 Click 事件过程需要的公共代码。通过这种方式,我在项目中添加了对 System.Data 命名空间的引用,因为 Visual Basic Express 不会自动添加该引用。另外,Form1 模块包含一条 Imports 语句,以便 System.Data.SqlClient 命名空间简化引用 SqlClient 类型(例如 System.Data.SqlClient 命名空间中的 SqlConnection 类)的语法。

对于表示 SqlConnection 实例的变量 (cnn1),CNN 类包含两个方法和一个公共声明。用于变量声明的 Public 关键字使得 cnn1 在 CNN 类实例外可用。MakeCNN 方法为 cnn1 指定连接字符串,并返回 SqlConnection 类实例。该方法带有两个参数:一个指定到数据库文件的路径,另一个是数据库文件的名称,包括其扩展名。

  Public cnn1 As New SqlConnection
Public Function MakeCNN( _
ByVal strPathAs String, _
ByVal DBFileName As String) As _
System.Data.SqlClient.SqlConnection
Dim strConnection As String
strConnection = _
"Data Source = ./sqlexpress;" & _
"Integrated Security = true;" & _
"AttachDBFileName= " & strPath& "/" & _
DBFileName
cnn1.ConnectionString= strConnection
Return cnn1
End Function

第二个 CNN 类方法是由 OpenCNN 函数实现的,它调用 SqlConnection 实例的 Open 方法。该函数需要两个参数:一个用于 SqlConnection 实例,另一个用于不带扩展名的数据库名称。这段代码在 Try...Catch...Finally 语句的 Try 子句内部调用 Open 方法。Try 和 Catch 子句包含用于显示一条消息的语句,这个消息通知用户打开数据库成功或失败。这些子句执行这个非常简单的应用程序需要的所有工作。因此,Finally 子句关闭数据库。

  Public Function OpenCnn( _
ByVal cnn1 As SqlConnection, _
ByVal DBName As String) As String
Try
cnn1.Open()
Return (DBName & " opened successfully.")
Catch ex As Exception
Return (DBName & _
" did not open successfully.")
Finally
cnn1.Close()
End Try
End Function

回想一下,Button1 的 Click 事件过程中的代码连接到 vsdvbe1sse.mdf 数据库文件。因此,该事件过程首先为指向数据库文件的路径设置一个字符串变量 (strPath)。接下来,代码将 strName 赋值为不带文件扩展名的数据库名称。然后,应用程序使用这些变量作为 CNN 类实例 (MyCNN) 的 MakeCNN 方法的参数。最后,该过程通过使用来自 OpenCNN 方法的 MyCNN 返回值结束。

    strPath= "C:/Articles/" & _
"VSDVBE1/VSDVBE1"
strName= "vsdvbe1sse"
Dim MyCNNAs New CNN
cnn1 = MyCNN.MakeCNN(strPath, _
strName+ ".mdf")
MessageBox.Show(MyCNN.OpenCnn(cnn1, strName))

Button2 的 Click 事件过程与 Button1 的 Click 事件过程相同。唯一的不同在于 strPath 和 strName 变量所赋的值,它们指向 C:/WebSites/VSDVWDE1/Data 路径中的 vsdvwde1sse.mdf 数据库文件。

以编程方式从远程计算机打开数据库

以编程方式从另一台计算机打开和使用 SQL Server Express 数据库基于并结合了本文前面介绍的技术。另外,此任务需要新元素 — 即,登录到 SQL Server 实例(SQL Server Express 数据库中的一个用户帐户),并且授予该用户帐户一个或多个数据库访问权限。本文前面的所有演示和示例都隐式使用 Windows 管理员帐户。本节显式使用非 Windows 管理员帐户的 Windows 帐户。虽然您在 SQL Server Express 中既可以使用 Windows 帐户也可以使用 SQL Server 帐户,但 Microsoft 明显希望我们使用 Windows 帐户。实际上,SQL Server Express 默认安装时只有 Windows 身份验证,它拒绝任何非 Windows 用户的访问。

由于 SQL Server Express 的默认身份验证,您至少需要创建一个域 Windows 帐户,以便来自远程计算机的用户可以使用该帐户连接到运行 SQL Server Express 的计算机。您还需要为 SQL Server Express 实例授予 Windows 用户登录权限。接下来,需要在数据库中为您创建的登录创建一个用户。最后一步是分配权限,例如为与您的 Windows 用户登录相关的用户帐户分配对一张表的 SELECT 权限。在进行完最后这步设置后,您就可以用您的 Windows 用户帐户登录到远程计算机。接下来就能够以正常方式从远程计算机的客户端应用程序连接到运行 SQL Server Express 的计算机。

vsdvbe2 项目中的 Form1 包含带有 Click 事件过程的 Button3、Button4 和 Button5,从而帮助您测试这些从远程计算机连接到 SQL Server Express 数据库的指南。Click 事件过程假设有一个名为 vsd1 的 Windows 帐户。Button3 的 Click 事件过程设置为允许 vsd1 Windows 用户打开 vsdvbe1sse.mdf 数据库中的 Contacts 表。Button4 的 Click 事件过程删除 vsd1 在 vsdvbe1sse.mdf 数据库中的数据库用户帐户,但该过程保留 vsd1 登录到 SQL Server Express 实例的权限。Button5的 Click 事件过程禁用 vsd1 Windows 帐户登录到 SQL Server Express 实例的权限。

Button3 的 Click 事件过程有两个部分。第一部分授予 vsd1 登录到本地 SQL Server Express 实例的权限。第一部分通过 master.mdf 数据库上下文执行。请注意,连接字符串语法与前面使用的连接字符串略有不同。master.mdf 数据库是不断附加的,因此可以由 Database 参数引用,该参数在引用数据库时不需要数据库文件扩展名(使用 master 而不是 master.mdf)。

另外,在连接字符串中不需要使用 AttachDBFileName 参数。您可以通过调用 sp_grantlogin 系统存储过程来为 SQL Server Express 实例分配 Windows 用户帐户登录权限。该系统存储过程需要一个 Windows 帐户名作为它的参数。该 Windows 帐户名有两个部分,它们之间以反斜杠 (/) 分隔。第一部分是域服务器名,第二部分是 Windows 帐户名。在下面的代码中,cab233a 作为域名,vsd1 作为 Windows 帐户名。这段代码摘录使用 SqlCommand 类实例 (cmd1) 来包含该系统存储过程。SqlCommand 对象的 ExecuteNonQuery 方法运行该系统存储过程。

    strPath= "Data Source = ./sqlexpress;" & _
"Integrated Security = true;" & _
"Database = master"
cnn2.ConnectionString= strPath
cnn2.Open()
cmd1.CommandText= _
"sp_grantlogin 'cab233a/vsd1'"
cmd1.Connection = cnn2
cmd1.ExecuteNonQuery()
cnn2.Close()

Button3 的 Click 事件过程的第二部分在 vsdvbe1sse.mdf 数据库中为 cab233a/vsd1 登录创建一个用户帐户。因此,下面的代码摘录首先连接到 vsdvbe1sse.mdf 数据库。在连接到数据库文件之后,该摘录执行 SqlCommand 对象。SqlCommand 对象包含 T-SQL 指令,用于在 vsdvbe1sse.mdf 数据库中创建一个与 cab233a/vsd1 登录名称相同的用户帐户,并授予该用户帐户对 Contacts 表的 SELECT 权限。

    strPath= "C:/Articles/" & _
"VSDVBE1/VSDVBE1"
strName= "vsdvbe1sse"
cnn1 = MyCNN.MakeCNN(strPath, _
strName+ ".mdf")
Try
cnn1.Open()
cmd1.CommandText= _
"sp_grantdbaccess 'cab233a/vsd1' " & _
"GRANT SELECTON Contacts " & _
"to [cab233a/vsd1]"
cmd1.Connection = cnn1
cmd1.ExecuteNonQuery()
cnn1.Close()
Catch ex As Exception
MsgBox(ex.Message)
MessageBox.Show( _
"Cannot assign databaseAccess" & _
"at this time.")
End Try

Button4 和 Button5 的 Click 事件过程与 Button3 的 Click 事件过程的第二段摘录语法相同。Button4 的 Click 事件过程将其 SqlCommand 对象的 CommandText 属性赋值为 sp_revokedbaccess 'cab233a/vsd1'。此 T-SQL 指令对 vsdvbe1sse.mdf 数据库调用 Access。吊销数据库 Access 会调用删除数据库中对应于 cab233a/vsd1 登录的用户帐户。然而,该用户仍然可以登录到 SQL Server Express 实例。Button5 的 Click 事件过程将其 SqlCommand 对象的 CommandText 属性赋值为 sp_revokelogin 'cab233a/vsd1'。此 T-SQL 指令禁用 vsd1 Windows 帐户在 SQL Server Express 实例中的登录特权。

我从两台远程计算机,用三个不同的客户端应用程序(即 Visual Studio、Visual Studio 2003 和 Access)测试了这些过程。在运行 Button3 的 Click 事件过程之后,就可以从远程计算机上运行的这三个应用程序看到 vsdvbe1sse.mdf 数据库的 Contacts 表中的数据。

6 显示 Visual Studio 客户端应用程序中的 Contacts 数据。您可以在 Visual Studio 中用在 Visual Basic Express 中显示表中数据的相同步骤来显示表中的数据。这些步骤包括右键单击 Database Explorer 中的表名称,然后选择 Show Table Data 项。

7 显示来自 Access 项目的相同数据。这类项目使用 OLE DB(而不是 .NET 数据访问技术)来连接到 SQL Server Express 数据库。从 Access 连接到 SQL Server Express 数据库的方式与从早期 SQL Server 版本连接到任何数据库的方式相同。在连接到数据库之后,Contacts 表作为一个表出现在 Access Database 窗口中。双击 Database 窗口中的表名称将打开表中的数据,如图 7 所示。

小结

Express 套件以 Visual Studio 开发人员所熟悉的格式提供大量数据库功能。它提供一种学习 Visual Studio/SQL Server 技术的低成本且便利的方式。即使 Express 套件官方发布之后,其组件也将提供一种成本相对较低的方式来在整个组织中推广 .NET 和 SQL Server 技术。此策略的一个优点是可以轻松地将部门解决方案迁移到企业解决方案。另外,您将发现 Express 套件应用程序很适合执行您组织以前采用 Visual Studio 执行的一些应用程序,从而节省一些成本。

 

抱歉!评论已关闭.