ADO.NET存储过程还是比较常用的,于是我研究了一下如何使用存储过程进行数据插入、删除和更新。,在这里拿出来和大家分享一下,希望对大家有用。您无需精通ADO.NET存储过程的编写也可从本文受益。许多大型编程小组的开发人员需要使用他人编写的存储过程。我们的示例之一需要将存储过程插入到示例数据库中,但我们将逐步介绍这个任务。
ADO.NET 简介
本文假设您已经了解了 ADO.NET 的基础知识。如果您在工作中从未使用过 ADO.NET 中的 DataAdapter、DataSet 和 Command 对象,则应阅读一些介绍 ADO.NET 的文章,包括 Rocky 为本专栏撰写的名为 ADO.NET 与您一文。
#T#简而言之,DataSet 在 ADO.NET 中用作数据容器,并在与数据库断开连接时使用。DataSet 包含一个或多个 DataTable,每个 DataTable 都包含行集合。对于那些熟悉传统 ADO 环境的用户来说,DataTable 可被看作是断开连接的 Recordset。DataAdapter 在连接到数据库时工作。单个 DataAdapter 的作用是使用数据库中的数据填充某个 DataTable,或将 DataTable 中的更改写回到数据库,或者二者兼而有之。
DataAdapter 要求 Command 对象执行各种数据库操作。Command 对象存放 SQL 语句或指定数据访问实现方法的ADO.NET存储过程名称。每个 DataAdapter 有四个属性,指定用于四种数据访问类型之一的命令对象。
◆SelectCommand:此 Command 对象用于从数据库中选择数据。
◆UpdateCommand:此 Command 对象用于更新数据库中的现有记录。
◆InsertCommand:此 Command 对象用于向数据库中插入新记录。
◆DeleteCommand:此 Command 对象用于删除数据库中的现有记录。
到目前为止,您所看到的演示软件示例可能将其 Command 对象配置为使用 SQL 语句进行数据访问。实际上,某些示例可能完全跳过了 Command 对象的创建,这是因为 DataAdapter 的某个构造函数允许 Command 对象选择后台创建的数据。在使用存储过程之前,让我们运行这样一个示例进行比较。
本文中的所有示例都使用 SQL Server 附带的 Northwind 示例数据库。我们还使用专门为 SQL Server 创建的 ADO.NET 类,而不是普通的 OLE DB 类。为了便于访问这些 SQL Server 类,所有示例都需要在应用程序的代码顶部加上以下代码行:
- Imports System.Data.SQLClient
现在,让我们看看不使用存储过程执行数据访问的第一个示例。在此示例中,我们将在 Northwind 数据库 Products 表中检索所有产品。创建一个新 Windows 应用程序,在出现的空白 Form1 上,放置一个按钮和一个 DataGrid。将 DataGrid 的 Anchor 属性设置为全部四个边,使之随表单的扩展而扩展。在按钮的 Click 事件中,放置以下代码:
- Dim sConnectionString As String = _
- "server=localhost;uid=sa;pwd=;database=Northwind"
- Dim sSQL As String = "SELECT * FROM Products"
- Dim daGetProducts As New SqlDataAdapter(sSQL, sConnectionString)
- Dim dsProducts As New DataSet()
- daGetProducts.Fill(dsProducts, "Products")
- DataGrid1.DataSource = dsProducts.Tables("Products")
根据计算机配置的不同,可能需要更改连接字符串。建立数据库连接后,其余代码应该可以正常运行。此演示软件说明了填入和使用 DataSet 的最简单方法。