Files
Desktop_BLVStudio_EN/BLV_Studio/Control/MsDataSource/BlvMySql.vb

184 lines
5.6 KiB
VB.net
Raw Normal View History

2025-12-11 14:22:51 +08:00
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class BlvMySql
''' <summary>
''' 连接字符串
''' </summary>
Private _ConnString As MySqlConnectionStringBuilder = New MySqlConnectionStringBuilder()
''' <summary>
''' MySQL 连接器
''' </summary>
Public _mySqlConn As New MySqlConnection
''' <summary>
''' 初始化 MySQL 连接对象
''' </summary>
''' <param name="ServerAddress"></param>
''' <param name="port"></param>
''' <param name="DataBaseName"></param>
''' <param name="User"></param>
''' <param name="Password"></param>
Sub New(ServerAddress As String, port As UInteger, DataBaseName As String, User As String, Password As String)
_ConnString.Server = ServerAddress
_ConnString.Port = port
_ConnString.Database = DataBaseName
_ConnString.UserID = User
_ConnString.Password = Password
End Sub
''' <summary>
''' 连接My SQL数据库
''' </summary>
Public Function ConnMySQLBase() As Boolean
Try
_mySqlConn = New MySqlConnection(_ConnString.ConnectionString)
_mySqlConn.Open()
Catch ex As Exception
Console.WriteLine($"Error Message:{ex.Message}")
Return False
End Try
Return True
End Function
#Region "MySQL增删改查"
''' <summary>
''' 插入MySQL数据
''' </summary>
''' <param name="strInsert"></param>
''' <returns></returns>
Public Function InsertMySql(strInsert As String)
Try
Dim cmd As New MySqlCommand(strInsert, _mySqlConn)
cmd.ExecuteNonQuery()
_mySqlConn.Close()
_mySqlConn.Dispose()
Catch ex As Exception
Console.WriteLine($"MySql Error:{ex.Message}")
Return False
End Try
Return True
End Function
''' <summary>
''' 修改MySQL数据
''' </summary>
''' <param name="strUpdate"></param>
''' <returns></returns>
Public Function UpdateMySql(strUpdate As String)
Dim result As Integer
Try
Dim cmd As New MySqlCommand(strUpdate, _mySqlConn)
result = cmd.ExecuteNonQuery()
_mySqlConn.Close()
_mySqlConn.Dispose()
Catch ex As Exception
Console.WriteLine($"MySql Error:{ex.Message}")
End Try
Return result
End Function
''' <summary>
''' 查询MySQL数据
''' </summary>
''' <param name="queryString">需要查询的列</param>
''' <returns></returns>
Public Function Query(queryString As String) As DataTable
Dim sda As MySqlDataAdapter = New MySqlDataAdapter(queryString, _ConnString.ConnectionString)
Dim sqlDataSet As DataTable = New DataTable()
Try
sda.Fill(sqlDataSet)
Catch ex As Exception
MsgBox($"######{Now} - MySQL查询错误: {ex.Message} 查询语句: {queryString}")
End Try
Return sqlDataSet
End Function
''' <summary>
''' 查询MySQL数据
''' </summary>
''' <param name="queryCol">需要查询的列</param>
''' <param name="TableName">需要查询的数据表名</param>
''' <param name="Conditions">需要查询的条件,默认为空</param>
''' <returns></returns>
Public Function Query(queryCol As String, TableName As String, Optional Conditions As String = "") As DataTable
Dim sql As String = $"select {queryCol} from {TableName} {Conditions}"
Dim sda As MySqlDataAdapter = New MySqlDataAdapter(sql, _ConnString.ConnectionString)
Dim sqlDataSet As DataTable = New DataTable()
Try
sda.Fill(sqlDataSet)
Catch ex As Exception
MsgBox($"######{Now} - MySQL查询错误: {ex.Message} 查询语句: {sql}")
End Try
Return sqlDataSet
End Function
#End Region
#Region "多语种信息"
''' <summary>
''' 获取多语种版本信息
''' </summary>
''' <returns></returns>
Public Function GetCloudVersionInfo() As DataTable
Dim dtUser As DataTable = New DataTable()
Dim queryStr As String = $"Select a.Language, a.Version from tbl_multilingual a
Left Join tbl_multilingual_apps b on a.ApplicationID = b.ID
where b.Application = 'C系列配置工具'"
Console.WriteLine($"获取多语种版本信息查询语句:{queryStr}")
Dim sda As MySqlDataAdapter = New MySqlDataAdapter(queryStr, _ConnString.ConnectionString)
Try
sda.Fill(dtUser)
Catch ex As Exception
MsgBox($"######{Now} - MySQL查询错误: {ex.Message} 查询语句: ")
End Try
Return dtUser
End Function
''' <summary>
''' 获取云端数据信息
''' </summary>
''' <returns></returns>
Public Function GetCloudDataInfo(languageName As String) As DataTable
Dim dtUser As DataTable = New DataTable()
Dim queryStr As String = $"Select a.{languageName} from tbl_multilingual_data a
left join tbl_multilingual b on a.ApplicationID = b.ApplicationID
left join tbl_multilingual_apps c on b.ApplicationID = c.ID
where c.Application = 'C系列配置工具' And b.Language = '{languageName}';"
Console.WriteLine($"获取云端数据信息查询语句:{queryStr}")
Dim sda As MySqlDataAdapter = New MySqlDataAdapter(queryStr, _ConnString.ConnectionString)
Try
sda.Fill(dtUser)
Catch ex As Exception
MsgBox($"######{Now} - MySQL查询错误: {ex.Message} 查询语句: {queryStr}")
End Try
Return dtUser
End Function
#End Region
End Class