VB.NET MDB数据库导出到Excel表生成分析报表
2023-06-13 09:15:26 时间
主要Access数据库连接代码:
Imports System.Data.OleDb
''' <summary>
'''
''' 数据库连接类
'''
''' Author:OuHuanHua
''' Date:2023/01/29
'''
''' </summary>
Public Class Class_AccessDb
''' <summary>
''' 数据库连接对象
''' </summary>
Private ReadOnly DbConnection As OleDbConnection
''' <summary>
''' 日志事件
''' </summary>
''' <param name="msg"></param>
Public Event CmdLog(msg As String)
''' <summary>
''' 初始化类
''' </summary>
''' <param name="DbPath"></param>
Public Sub New(DbPath As String)
Dim database As String = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & DbPath
DbConnection = New OleDbConnection(database)
Try
''检测数据库状态
If DbConnection.State.Equals(ConnectionState.Closed) Then
DbConnection.Open()
End If
Catch ex As Exception
RaiseEvent CmdLog("数据库初始化异常:" & ex.Message)
End Try
End Sub
''' <summary>
''' 查询数据并返回DataTable对象
''' </summary>
''' <param name="SqlStr">sql语句</param>
''' <returns></returns>
Public Function ExecuteDataTable(SqlStr As String) As DataTable
Try
''-------再次判断数据库连接状态
If DbConnection.State.Equals(ConnectionState.Closed) Then
DbConnection.Open()
End If
''--------查询数据
Using CmdObject As New OleDbCommand With {
.CommandText = SqlStr,
.CommandType = CommandType.Text,
.Connection = DbConnection,
.CommandTimeout = 0
}
Using AdpObject As New OleDbDataAdapter With {.SelectCommand = CmdObject}
Using Dt As New DataTable()
AdpObject.Fill(Dt)
CmdObject.Parameters.Clear()
Return Dt
End Using
End Using
End Using
Catch ex As OleDbException
RaiseEvent CmdLog("查询数据异常:" & ex.Message)
Return Nothing
End Try
End Function
''' <summary>
''' 执行SQL指令语句
''' </summary>
''' <param name="SqlStr">sql语句</param>
''' <returns></returns>
Public Function ExecuteNonQuery(SqlStr As String) As Integer
Try
''-------再次判断数据库连接状态
If DbConnection.State.Equals(ConnectionState.Closed) Then
DbConnection.Open()
End If
''--------执行指令
Using CmdObject As New OleDbCommand With {
.CommandText = SqlStr,
.CommandType = CommandType.Text,
.Connection = DbConnection,
.CommandTimeout = 0
}
Dim rows As Integer = CmdObject.ExecuteNonQuery()
CmdObject.Parameters.Clear()
Return rows
End Using
Catch ex As OleDbException
RaiseEvent CmdLog("执行指令异常:" & ex.Message)
Return 0
End Try
End Function
''' <summary>
''' 获取当前连接的mdb中的所有表名
''' </summary>
''' <returns></returns>
Public Function GetTableNames() As List(Of String)
Try
''-------再次判断数据库连接状态
If DbConnection.State.Equals(ConnectionState.Closed) Then
DbConnection.Open()
End If
''-------获取表名
Dim dt As DataTable = DbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim tableNameList As New List(Of String)
For i As Integer = 0 To dt.Rows.Count - 1
Dim tableName As String = dt.Rows(i)("TABLE_NAME").ToString()
tableNameList.Add(tableName)
Next
Return tableNameList
Catch ex As Exception
RaiseEvent CmdLog("查询所有表名异常:" & ex.Message)
Return Nothing
End Try
End Function
End Class
相关文章
- ASP.NET中 RangeValidator(范围验证)的使用[通俗易懂]
- Iocomp .NET WinForms Ultra Pack Crack
- mysql导入excel文件_将Excel数据导入MySQL「建议收藏」
- 【愚公系列】2022年12月 .NET CORE 即时通讯-使用SignalR进行井字游戏
- 利用Oracle.Net实现数据库互联(oracle.net)
- 数据库使用.NET连接MySQL数据库(net连接mysql)
- Excel数据快速转移至MySQL(excel转mysql)
- 快速完成:从Excel导入Oracle数据库(excel导入oracle数据库)
- 数据库的比较深入比较:Excel与MySQL的数据库技术优劣(excel与mysql)
- 数据库用Excel快速导入Oracle数据库(excel导入oracle)
- 将Excel表格数据导入MySQL数据库(excel到mysql)
- VB.NET构建多层数据库应用:使用MSSQL(vb.net mssql)
- .net下的数据库连接SQLServer驱动在.NET平台下的数据库连接简明介绍(sqlserver驱动在)
- Excel直接导入SQLServer,数据一步到位(excel导入sqlserver)
- MSSQL导入Excel数据的精彩实战(mssql读excel)
- 应用使用Linux环境部署.Net应用程序(linux部署.net)
- NET 与 Oracle技术结合开启数据库新篇章(.net事物oracle)
- 数据库NET开发者操作Oracle数据库的全攻略(net操作oracle)
- 数据使用NET改变Oracle数据库的奥秘(net修改oracle)
- Excel与Oracle无缝连接,极致解决数据融合问题(excel连oracle)
- NET环境下 MySQL数据库应用实践(.net配合 mysql)
- NET技术结合MySQL实现数据库访问极致体验(.net数据库mysql)
- 实现Redis数据批量导出至Excel(redis 转excel)
- Oracle Net服务重新上线,确保数据安全(oracle net重启)
- 使用Oracle64位Net突破技术极限(oracle64位net)
- Asp.Net用OWC操作Excel的实例代码