vb.net 操作Access数据库帮助类

原创 2013年12月29日 11:30:31

VB.net 操作Access数据库的一些常用方法,代码如下

Imports System
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Collections.Generic
Imports System.Text
Imports System.Data
Imports System.Configuration.ConfigurationSettings
Imports System.Data.OleDb



Public Class DB



    Private Shared com As OleDb.OleDbCommand
    Private Shared reader As OleDb.OleDbDataReader
    Private Shared adapter As OleDb.OleDbDataAdapter
    Private Shared conn As OleDb.OleDbConnection

    ''' <summary>
    ''' 获取数据库连接
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared ReadOnly Property NewConn() As OleDbConnection
        Get
            Dim connectionString As String
            'connectionString = System.Configuration.ConfigurationSettings.GetConfig("Supermarket")
            '连接2010数据库
            'connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\GCU.accdb"
            '连接03-07数据库
            connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\JL\GCU.MDB"

            '应该在这里先判断conn是否为Nothing
            If conn Is Nothing Then
                conn = New OleDb.OleDbConnection(connectionString)
            End If
            If conn.State <> ConnectionState.Open Then
                conn.Open()
            End If
            Return conn
        End Get
    End Property

    ''' <summary>
    ''' 执行增删改(无参)
    ''' </summary>
    ''' <param name="sql">执行的Sql语句</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function ExecuteNonQuery(ByVal sql As String) As Integer
        com = New OleDb.OleDbCommand(sql, NewConn())
        Return com.ExecuteNonQuery()
    End Function

    ''' <summary>
    ''' 执行增删改(有参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function ExecuteNonQuery(ByVal sql As String, ByVal para As OleDbParameter()) As Integer
        com = New OleDb.OleDbCommand(sql, NewConn)
        com.Parameters.AddRange(para)
        Return com.ExecuteNonQuery()
    End Function

    ''' <summary>
    ''' 执行增删改的存储过程
    ''' </summary>
    ''' <param name="para"></param>
    ''' <param name="ProcedureName"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function ExecuteNonQuery(ByVal para As SqlParameter(), ByVal ProcedureName As String) As Integer
        Dim cmd As OleDb.OleDbCommand
        cmd = New OleDb.OleDbCommand()
        cmd.Connection = NewConn()
        cmd.CommandText = ProcedureName
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.AddRange(para)
        Return com.ExecuteNonQuery
    End Function

    ''' <summary>
    ''' 执行查询(返回一个结果集,无参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetScalar(ByVal sql As String) As String
        Dim dataset As DataSet
        dataset = New DataSet()
        com = New OleDb.OleDbCommand(sql, NewConn)
        adapter = New OleDbDataAdapter(com)
        adapter.Fill(dataset)
        If dataset.Tables.Count > 0 And dataset.Tables(0).Rows.Count > 0 Then
            Return dataset.Tables(0).Rows(0)(0).ToString()
        End If
        Return "Null"
    End Function

    ''' <summary>
    ''' 执行查询(返回一个结果集,有参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetScalar(ByVal sql As String, ByVal para As SqlParameter()) As Integer
        com = New OleDb.OleDbCommand(sql, NewConn)
        com.Parameters.AddRange(para)
        Return Convert.ToInt32(com.ExecuteScalar())
    End Function

    ''' <summary>
    ''' 执行查询(返回一行数据,无参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetReader(ByVal sql As String) As OleDbDataReader
        com = New OleDb.OleDbCommand(sql, NewConn)
        reader = com.ExecuteReader()
        Return reader
    End Function

    ''' <summary>
    ''' 执行查询(返回一行数据,有参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetReader(ByVal sql As String, ByVal para As SqlParameter()) As OleDbDataReader
        com = New OleDb.OleDbCommand(sql, NewConn)
        com.Parameters.AddRange(para)
        reader = com.ExecuteReader()
        Return reader
    End Function

    ''' <summary>
    ''' 执行查询(返回一个数据集,无参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetDataSet(ByVal sql As String) As DataTable
        Dim dataset As DataSet
        dataset = New DataSet()
        com = New OleDb.OleDbCommand(sql, NewConn)
        adapter = New OleDbDataAdapter(com)
        adapter.Fill(dataset)
        Return dataset.Tables(0)
    End Function


    ''' <summary>
    ''' 执行查询(返回一个数据集,有参)
    ''' </summary>
    ''' <param name="sql"></param>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function GetDataSet(ByVal sql As String, ByVal para As SqlParameter()) As DataTable
        Dim dataset As DataSet
        dataset = New DataSet()
        com = New OleDbCommand(sql, NewConn)
        com.Parameters.AddRange(para)
        adapter = New OleDbDataAdapter(com)
        adapter.Fill(dataset)
        Return dataset.Tables(0)
    End Function



End Class


 

VB.Net访问Access数据库操作示例

  • 2009年06月05日 11:36
  • 139KB
  • 下载

vb 与 .accdb 格式的access数据库的连接方法

在用vb连接access数据库时,出现了这样的错误: 这是你的数据库格式不被 程序识别。vb默认的一般是.,mdb  access数据库格式!这时我们看一下我们要连接的 是.accdb 格式的...
  • wangyongxia921
  • wangyongxia921
  • 2012年05月27日 10:03
  • 14571

vb.net操作access数据库实例

  • 2009年08月05日 16:39
  • 116KB
  • 下载

C#操作 Access 2013(.accdb)的方法

最近在处理一些本地数据库的时候发现,原来使用的Microsoft.Jet.OLEDB.4.0,的方法并不能连接最新的Access 存储文件,而且Microsoft.Jet.OLEDB.4.0不能使用x...
  • u011444189
  • u011444189
  • 2015年12月02日 19:29
  • 2255

vb.net操作数据库之ACCESS(一)

转载自:http://blog.csdn.net/machong8183/article/details/5488191 一直想写下数据库操作方面的,只是没什么时间(好像是借口,应该是懒或者没心情吧...
  • lengyff
  • lengyff
  • 2015年04月05日 11:26
  • 847

在VS2013平台下,用VB.net 连接Access数据库

从开始学习计算机,我们使用的一直是SQL数据库。这次接触了Access数据库,我将从Access创建到连接向大家分享一下我在Access数据库中的收获。...
  • WKX18330698534
  • WKX18330698534
  • 2016年04月17日 20:41
  • 4793

vb.net+access 学生信息管理系统

  • 2009年06月25日 14:27
  • 197KB
  • 下载

VB.net数据库编程(01):简单的入门实例--连接到Access文件

先来一个简单的实例。 VB.net 2012 SQl server 2012 Access文件:http://download.csdn.net/detail/dzweather...
  • u014366427
  • u014366427
  • 2014年03月26日 11:08
  • 1445

vb.net操作数据库之ACCESS(一)

转载自:http://blog.csdn.net/machong8183/article/details/5488191 一直想写下数据库操作方面的,只是没什么时间(好像是借口,应该是懒或者没心情吧...
  • lengyff
  • lengyff
  • 2015年04月05日 11:26
  • 847

在VS2013平台下,用VB.net 连接Access数据库

从开始学习计算机,我们使用的一直是SQL数据库。这次接触了Access数据库,我将从Access创建到连接向大家分享一下我在Access数据库中的收获。...
  • WKX18330698534
  • WKX18330698534
  • 2016年04月17日 20:41
  • 4793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vb.net 操作Access数据库帮助类
举报原因:
原因补充:

(最多只允许输入30个字)