Imports System.Text
Namespace Database.Base
Public Class SearchCondition
Enum ConditionType
LessThan
GreaterThen
EqualTo
LessThanOrEqualTo
GreaterThenOrEqualTo
End Enum
Enum LogicType
[And]
[Or]
[Not]
End Enum
'''
''' 判断列名
'''
'''
Public Property ColName() As String
'''
''' 判断条件
'''
'''
Public Property Condition() As ConditionType = ConditionType.EqualTo
'''
''' 判断值
'''
'''
Public Property ColValue() As String
'''
''' 当前条件与上一个条件的逻辑关系
'''
'''
Public Property LogicPrevious() As LogicType = LogicType.And
'''
''' 将当前条件转换为字符串,不支持将条件逻辑关系同时转换
'''
'''
Public Overrides Function ToString() As String
Dim stringBuilder As New StringBuilder
stringBuilder.Append(" ")
stringBuilder.Append(ColName)
Select Case Condition
Case ConditionType.EqualTo
stringBuilder.Append("=")
Case ConditionType.LessThan
stringBuilder.Append("<")
Case ConditionType.LessThanOrEqualTo
stringBuilder.Append("<=")
Case ConditionType.GreaterThen
stringBuilder.Append(">")
Case ConditionType.GreaterThenOrEqualTo
stringBuilder.Append(">=")
End Select
stringBuilder.Append($"'{ColValue}'")
Return stringBuilder.ToString()
End Function
End Class
End Namespace