用vb.net操作access存储过程(2)

来源:互联网 发布:文怀沙 知乎 编辑:程序博客网 时间:2024/04/27 23:39
  1. '在第一部分,我们已经知道了如何利用ado.net和vb.net建立access中的存储过程,这篇我们需要了解如何利用这些已经建立好的存储过程。
  2. '我们将程序做成公共类DBTier,这样就可以在其他程序中调用了。
  3. '首先,几个命名空间必不可少。
  4. Imports System
  5. Imports System.Data
  6. Imports System.Data.OleDb
  7. '数据库链接字符串
  8. Shared connectionString As String = _    "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Program " _    & "Files/Microsoft Office/Office10/Samples/Northwind.mdb"  
  9. 'ProductsList()返回dataset类型( 存储过程执行结果)
  10. 'ProductsAddItem()添加存储过程参数
  11. '完整代码:
  12. Imports System
  13. Imports System.Data
  14. Imports System.Data.OleDb
  15. ' Functions and subroutines for executing Stored Procedures in Access.
  16. Public Class DBTier
  17.     ' Change Data Source to the location of Northwind.mdb on your local 
  18.     ' system.
  19.     Shared connectionString As String = _
  20.         "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Program " _ 
  21.         & "Files/Microsoft Office/Office10/Samples/Northwind.mdb"
  22.     ' This function returns a dataset containing all records in
  23.     ' the Products Table.
  24.     Function ProductsList() As DataSet
  25.         Dim con As OleDbConnection
  26.         Dim da As OleDbDataAdapter
  27.         Dim ds As DataSet
  28.         Dim sSQL As String 
  29.         sSQL = "EXECUTE procProductsList"
  30.         con = New OleDbConnection(connectionString)
  31.         da = New OleDbDataAdapter(sSQL, con)
  32.         ds = New DataSet()
  33.         da.Fill(ds, "Products")
  34.         Return ds
  35.     End Function
  36.     ' This Function adds one record to the Products table.
  37.     Sub ProductsAddItem(ByVal ProductName As String, _ 
  38.         ByVal SupplierID As IntegerByVal CategoryID As Integer)
  39.         Dim con As OleDbConnection
  40.         Dim cmd As OleDbCommand = New OleDbCommand()
  41.         Dim paramProductName As New OleDbParameter()
  42.         Dim paramSupplierID As New OleDbParameter()
  43.         Dim paramCategoryID As New OleDbParameter() 
  44.         con = New OleDbConnection(connectionString)
  45.         cmd.Connection = con
  46.         With paramProductName
  47.             .ParameterName = "inProductName"
  48.             .OleDbType = OleDbType.VarChar
  49.             .Size = 40
  50.             .Value = ProductName
  51.         End With
  52.         cmd.Parameters.Add(paramProductName) 
  53.         With paramSupplierID
  54.             .ParameterName = "inSupplierID"
  55.             .OleDbType = OleDbType.Integer
  56.             .Size = 4
  57.             .Value = SupplierID
  58.         End With
  59.         cmd.Parameters.Add(paramSupplierID)
  60.         With paramCategoryID
  61.             .ParameterName = "inCategoryID" 
  62.             .OleDbType = OleDbType.Integer
  63.             .Size = 4
  64.             .Value = CategoryID
  65.         End With
  66.         cmd.Parameters.Add(paramCategoryID)
  67.         cmd.CommandText = "EXECUTE procProductsAddItem"
  68.         con.Open()
  69.         cmd.ExecuteNonQuery()
  70.         con.Close()
  71.     End Sub 
  72.     ' This function Updates a specific JobTitle Record with new data.
  73.     Sub ProductsUpdateItem(ByVal ProductID As Integer, _
  74.         ByVal ProductName As String)
  75.         Dim con As OleDbConnection
  76.         Dim cmd As OleDbCommand = New OleDbCommand()
  77.         Dim paramProductName As New OleDbParameter()
  78.         Dim paramProductID As New OleDbParameter() 
  79.         con = New OleDbConnection(connectionString)
  80.         cmd.Connection = con
  81.         With paramProductID
  82.             .ParameterName = "inProductID"
  83.             .OleDbType = OleDbType.Integer
  84.             .Size = 4
  85.             .Value = ProductID
  86.         End With
  87.         cmd.Parameters.Add(paramProductID) 
  88.         With paramProductName
  89.             .ParameterName = "inProductName"
  90.             .OleDbType = OleDbType.VarChar
  91.             .Size = 40
  92.             .Value = ProductName
  93.         End With
  94.         cmd.Parameters.Add(paramProductName)
  95.         cmd.CommandText = "EXECUTE procProductsUpdateItem"
  96.         con.Open() 
  97.         cmd.ExecuteNonQuery()
  98.         con.Close()
  99.     End Sub
  100.     ' This function deletes one record from the Products table.
  101.     Sub ProductsDeleteItem(ByVal ProductID As Integer)
  102.         Dim con As OleDbConnection
  103.         Dim cmd As OleDbCommand = New OleDbCommand()
  104.         Dim paramProductID As New OleDbParameter() 
  105.         con = New OleDbConnection(connectionString)
  106.         cmd.Connection = con
  107.         With paramProductID
  108.             .ParameterName = "inProductID"
  109.             .OleDbType = OleDbType.Integer
  110.             .Size = 4
  111.             .Value = ProductID
  112.         End With
  113.         cmd.Parameters.Add(paramProductID) 
  114.         cmd.CommandText = "EXECUTE procProductsDeleteItem"
  115.         con.Open()
  116.         cmd.ExecuteNonQuery()
  117.         con.Close()
  118.     End Sub
  119. End Class
 
原创粉丝点击