VB.NET ACCESS 数据库操作
2013-04-10 17:21
453 查看
Imports ADODB Imports System.Text Imports System.Data.OleDb Imports System.IO Public Class AccessorHelper Private _connectionString As String = "provider=microsoft.ace.oledb.12.0;data source= " & Application.StartupPath & "\DispatchCar.db" Public Function ExecuteNonQuery(ByVal cmd As String, ByVal cmdType As CommandType, Optional ByVal parameters() As OleDbParameter = Nothing) As Integer Dim connection As OleDbConnection = Nothing Dim transaction As OleDbTransaction = Nothing Dim command As OleDbCommand = Nothing Dim res As Integer = -1 Try connection = New OleDbConnection(_connectionString) command = New OleDbCommand(cmd, connection) command.CommandType = cmdType Me.AssignParameters(command, parameters) connection.Open() transaction = connection.BeginTransaction() command.Transaction = transaction res = command.ExecuteNonQuery() transaction.Commit() Catch ex As Exception If Not (transaction Is Nothing) Then transaction.Rollback() End If Throw New Exception(ex.Message, ex.InnerException) Finally If Not (connection Is Nothing) AndAlso (connection.State = ConnectionState.Open) Then connection.Close() If Not (command Is Nothing) Then command.Dispose() If Not (transaction Is Nothing) Then transaction.Dispose() End Try Return res End Function Public Function ExecuteReader(ByVal cmd As String, ByVal cmdType As CommandType, Optional ByVal parameters() As OleDbParameter = Nothing) As DataSet Dim connection As OleDbConnection = Nothing Dim command As OleDbCommand = Nothing Dim dataSet As DataSet = New DataSet() Try connection = New OleDbConnection(_connectionString) command = New OleDbCommand(cmd, connection) command.CommandType = cmdType Me.AssignParameters(command, parameters) connection.Open() Dim dataAdapter As New OleDbDataAdapter(command) dataAdapter.Fill(dataSet) dataAdapter.Dispose() connection.Close() Catch ex As Exception Throw New Exception(ex.Message, ex.InnerException) End Try Return dataSet End Function #Region " Private Methods " Private Sub AssignParameters(ByVal cmd As OleDbCommand, ByVal cmdParameters() As OleDbParameter) If (cmdParameters Is Nothing) Then Exit Sub For Each p As OleDbParameter In cmdParameters cmd.Parameters.Add(p) Next End Sub Private Sub AssignParameters(ByVal cmd As OleDbCommand, ByVal parameterValues() As Object) If Not (cmd.Parameters.Count - 1 = parameterValues.Length) Then Throw New ApplicationException("Stored procedure's parameters and parameter values does not match.") Dim i As Integer For Each param As OleDbParameter In cmd.Parameters If Not (param.Direction = ParameterDirection.Output) AndAlso Not (param.Direction = ParameterDirection.ReturnValue) Then param.Value = parameterValues(i) i += 1 End If Next End Sub #End Region End Class
相关文章推荐
- vb.net操作数据库之ACCESS(1)
- vb.net操作数据库之ACCESS(1)
- vb.net操作数据库之ACCESS(3)
- vb.net操作数据库之ACCESS(2)
- VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
- vb.net操作数据库之ACCESS(2)
- vb.net操作数据库之ACCESS(一)
- vb.net 教程 8-3 数据库操作7
- vb.net 教程 8-3 数据库操作9-3
- VB.NET 中启动ADO.NET事务,实现对数据库操作的整体性。
- vb.net数据库异步操作(三)
- vb.net 利用ADO实现数据库的删除、插入、修改操作(adodb)
- 用vb.net操作access存储过程(2)
- ACCESS的ASP.NET中 如果 数据库操作不关闭的话 将会..............
- vb.net操作带空格的数据库字段
- vb.net 自定义数据库链接类(Access)
- vb.net连接数据库 Access
- vb.net合伙数据库access(一)——连接数据库
- [VB.NET][求助]有关ACCESS表中 主键/关键字 为 自动编号 时与实际数据库同步的问题????
- VB.NET+SQLCE操作数据库简单例子