更改 Startup 对象
1、在解决方案资源管理器中,右键单击 ServiceCall 项目,然后单击 Properties(属性)。
2、在 Startup object(启动对象)下,将 Startup 对象更改为 Form2,然后单击 OK(确定)。
运行应用程序以打开维护窗体 (Form2)。单击 Load 按钮加载带有表中现有数据的数据网格。屏幕应类似于图 20 所示。
图20:示例应用程序输出结果
更新 ServiceCall 数据库
1、要删除行,请单击该行,然后按 Delete(删除)键。
2、要添加新行,请单击网格末尾空行中的任意单元格,然后提供相应的值。
3、完成更改后,单击 Update(更新)。
系统将检查网格中每一行的 RowStatus、调用相应的存储过程并传入正确的参数以处理请求的操作。
此示例展示了 Visual Studio .NET IDE 和框架的强大功能。我们仅使用了几行代码,就创建了功能完备的表维护应用程序。
使用 ADO.NET 访问 SQL Server
Microsoft .NET Framework 提供了名为 ADO.NET 的 ADO 的新版本。ADO.NET 功能得到了增强,能够更好地支持分布式应用程序的开发,并主要依赖 XML 作为其内部数据结构。
在以前版本的 ADO 中,Recordset 对象是开发人员用于处理来自数据存储的数据的主要对象。在 ADO.NET 中,DataSet 对象取代了 Recordset 对象。DataSet 是用户使用的数据在内存中的副本。DataSet 可以包含一个或多个 DataTables。您可以将 DataSet 视为一个虚拟关系数据库。DataSet 完全独立于原始数据源,而且不是用来与数据源进行直接通信。ADO.NET 是使用托管提供程序与数据源进行通信的。
ADO.NET 提供两种托管提供程序:一种用于 SQL Server 数据库,另一种用于任何 OLE DB 兼容数据库。到目前为止,我们创建的所有示例都使用了 SQL Server 托管提供程序。如果查看工具箱中 Data(数据)下的选项,您会注意到三对名称相同但前缀不同的控件。下表列出了这三对控件。
| SQL Server | OLE DB |
| SqlDataAdapter | OLEDBDataAdapter |
| SqlDataConnection | OLEDBDataConnection |
| SqlCommand | OLEDBCommand |
前缀为 OLEDB 的控件表示 OLE DB 托管提供程序,可用于访问所有与 OLE DB 兼容的数据库。这些控件与当前的 ADO 对象类似,但已被改写为托管代码,因而可以在 .NET Framework 中使用。
前缀为 SQL 的控件表示 SQL Server 托管提供程序,只能用于 SQL Server。与其 OLE DB 的对应控件相比,这些控件具有一些优点。首先,这些对象使用本地表格数据流 (TDS) 接口以获得最佳性能。OLE DB 对象所需的其他接口层已被删除,这使数据库的访问速度更快。其次,从这些控件中创建的 SQL 对象具有其他一些方法,这些方法利用了专用于 SQL Server 的功能。这为使用 SQL Server 进行设计和编程提供了更大的灵活性。
我们在前面创建的示例应用程序中使用了 ADO.NET,而 Visual Studio .NET 为我们处理了大多数编码工作,我们所要做的就是通过 IDE 的用户界面配置数据集和数据适配器。现在,让我们看看使用 ADO.NET 从表中选择、插入、更新和删除数据时所需的 Microsoft Visual Basic? .NET 编码。首先看一下 Select 语句的代码:
|
在此代码示例中,我们首先定义了要使用的变量和对象,其中包括 CustomersDS,它是一个 ADO.NET DataSet 对象。然后我们定义了查询,该查询将填充变量 strCmdText 中的数据集。下一步,我们定义一个 ADO.NET SqlDataAdapter 对象 (SqlDataAdapter2),将查询和数据库连接字符串作为参数提供。请注意,我们使用的是 SQL Server ADO.NET 托管提供程序。最后,通过调用 SqlDataAdapter 对象的 Fill 方法,填充 CustomerDS 并在名为 Customers 的 DataSet 中创建一个表。
