您的位置:建站学院首页 >> 文章 >> asp.net >> VB.Net语言
在VB.NET中使用MS Access存储过程

Dim paramProductID As New OleDbParameter()
Command和connection的初始化:

con = New OleDbConnection(connectionString)
cmd.Connection = con

确认了paramProductID 参数的属性,然后这个参数被添加到Command对象. 在这个例子中,要用到存储过程里的参数名字是inProductID, 它是一个整型变量,并用函数的参数进行赋值。

With paramProductID
.ParameterName = "inProductID"
.OleDbType = OleDbType.Integer
.Size = 4
.Value = ProductID
End With
cmd.Parameters.Add(paramProductID)
最后一步是真正调用存储过程.

cmd.CommandText = "EXECUTE procProductsDeleteItem"
con.Open()
cmd.ExecuteNonQuery()
con.Close()
注意connection对象这里只在需要执行存储过程的时候保留,然后就马上关闭了。这将减少可能有的资源占用。

虽然这个例子中使用的DBTier类已经清楚的介绍了如何使用Access存储过程, 它的功能仍然需要更多的增强来达到产品级的水平。因为没有错误处理。他仍然需要更多的强化。

本文的源代码包括了DBTier.vb,这个文件同时包含了一些简单的Form来测试类的实现。

总而言之,我希望您至少通过这些文章获得了2个信息:一个是在Microsoft Access中存储过程是存在的并且是不错的, 虽然有不足。第二个你需要同时理解需要把应用程序的数据库访问分解到独立的类、函数、过程里面,这将使软件的维护和升级变得更加容易。

完整的DBTier.vb:

Imports System
Imports System.Data
Imports System.Data.OleDb

' Functions and subroutines for executing Stored Procedures in Access.
Public Class DBTier

' Change Data Source to the location of Northwind.mdb on your local
' system.
Shared connectionString As String = _
"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program " _
& "Files\Microsoft Office\Office10\Samples\Northwind.mdb"
' This function returns a dataset containing all records in
' the Products Table.
Function ProductsList() As DataSet
Dim con As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim sSQL As String


sSQL = "EXECUTE procProductsList"

con = New OleDbConnection(connectionString)
da = New OleDbDataAdapter(sSQL, con)
ds = New DataSet()
da.Fill(ds, "Products")

Return ds

End Function

' This Function adds one record to the Products table.
Sub ProductsAddItem(ByVal ProductName As String, _
ByVal SupplierID As Integer, ByVal CategoryID As Integer)
Dim con As OleDbConnection
Dim cmd As OleDbCommand = New OleDbCommand()
Dim paramProductName As New OleDbParameter()
Dim paramSupplierID As New OleDbParameter()
Dim paramCategoryID As New OleDbParameter()

con = New OleDbConnection(connectionString)
cmd.Connection = con

With paramProductName
.ParameterName = "inProductName"
.OleDbType = OleDbType.VarChar
.Size = 40
.Value = ProductName
End With
cmd.Parameters.Add(paramProductName)

本内容共3页  首 页  上一页  下一页  尾 页  当前在第2

Google
 
Web www.cqxw.net