Files
Desktop_WT_DMS/WT-DMS/mdl_SQLAccessManage.vb

134 lines
4.4 KiB
VB.net
Raw Permalink Normal View History

2025-12-11 11:43:00 +08:00
Public Module mdl_SQLAccessManage
Public m_SQL As New CMSQL_Interface
Dim m_Log As New CLogManage
Public Enum COL_RIGHTS
登录
系统记录
用户管理
料号管理
原料库存管理
成品库存管理
BOM管理
供应商管理
ECN管理
公司管理
部门管理
仓库管理
库位管理
财务管理
max
End Enum
Public AccessTableName() As String =
{
"",
"系统记录表",
"帐号表",
"料号表",
"原料库存表",
"成品库存表",
"BOM表",
"供应商信息表",
"",
"公司信息表",
"部门信息表",
"仓库表",
"库位表",
"收支明细表"
}
Public Current_UserName As String
Public Current_Rights(COL_RIGHTS.max - 1) As RIGHTS
Public Function SQL_ConnectionSetting(ByVal strHostIp As String, ByVal DataBaseName As String, ByVal user As String, ByVal password As String) As Boolean
Return m_SQL.ConnectionSetting(strHostIp, DataBaseName, user, password)
End Function
Public Function SQL_Query(ByVal RightID As RIGHTS, ByVal strQuery As String, ByRef r_Table As DataTable) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.READ) Then
Return m_SQL.Query(strQuery, r_Table)
End If
Return False
End Function
Private Function GetUpdateLogString(ByRef tbl As DataTable) As String
Dim rString As String = ""
For row As Integer = 0 To tbl.Rows.Count - 1
Dim rowString As String = ""
Dim tStr As String = ""
For col As Integer = 0 To tbl.Columns.Count - 1
Try
tStr = tbl.Rows.Item(row).Item(col)
Catch ex As Exception
tStr = ""
End Try
If rowString.Length > 0 Then
rowString &= ","
End If
rowString &= tStr
Next
If rString.Length > 0 Then
rString &= ";"
End If
rString &= rowString
Next
Return rString
End Function
Public Function SQL_Update(ByVal RightID As RIGHTS, ByRef upTable As DataTable) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.WRITE) Then
If m_SQL.Update(upTable) = True Then
m_Log.AddItem(AccessTableName(RightID), "UPDATE: " & GetUpdateLogString(upTable), Current_UserName)
Return True
End If
End If
Return False
End Function
Public Function SQL_ExeCommand(ByVal RightID As RIGHTS, ByVal strExe As String) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.WRITE) Then
If m_SQL.ExeCommand(strExe) = True Then
m_Log.AddItem(AccessTableName(RightID), "EXECUTE:" & strExe, Current_UserName)
Return True
End If
End If
Return False
End Function
Public Function SQL_ExeCommandWithParamters(ByVal RightID As RIGHTS, ByVal strExe As String, ByRef ParamName() As String, ByRef ParamValue() As Object) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.WRITE) Then
If m_SQL.ExeCommandWithParamters(strExe, ParamName, ParamValue) = True Then
m_Log.AddItem(AccessTableName(RightID), "EXECUTE:" & strExe, Current_UserName)
Return True
End If
End If
Return False
End Function
Public Function SQL_DataReader(ByVal RightID As RIGHTS, ByVal strSelect As String, ByRef valueTable() As Object) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.READ) Then
Return m_SQL.DataReader(strSelect, valueTable)
End If
Return False
End Function
'事务操作
Public Transactionmsg As String
Public Function SQL_Transaction(ByVal RightID As RIGHTS, ByVal strExe As String) As Boolean
If CBool(Current_Rights(RightID) And RIGHTS.WRITE) Then
Dim result As String = m_SQL.TransactionExeCommand(strExe)
Transactionmsg = result
If String.IsNullOrEmpty(result) = True Then
m_Log.AddItem(AccessTableName(RightID), "TRANSACTION: " & strExe, Current_UserName)
Return True
End If
End If
Return False
End Function
End Module