106 lines
2.6 KiB
VB.net
106 lines
2.6 KiB
VB.net
|
|
Imports System.Text
|
|||
|
|
|
|||
|
|
Namespace Database.Sqlite
|
|||
|
|
Public Class DataParam
|
|||
|
|
Enum DataTypeEnum
|
|||
|
|
Varchar
|
|||
|
|
Nchar
|
|||
|
|
Blob
|
|||
|
|
Bit
|
|||
|
|
Datetime
|
|||
|
|
[Decimal]
|
|||
|
|
Real
|
|||
|
|
UniqueIdentifier
|
|||
|
|
Int
|
|||
|
|
[Integer]
|
|||
|
|
TinyInt
|
|||
|
|
[Single]
|
|||
|
|
Nvarchar
|
|||
|
|
SmallInt
|
|||
|
|
SmallUint
|
|||
|
|
Uint
|
|||
|
|
UnsignedInteger
|
|||
|
|
End Enum
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 列名
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property ColumnName() As String
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 当前值
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property Value() As String
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 默认值
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property DefaultValue() As String
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 数据类型
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property DataType() As DataTypeEnum
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 数据类型长度
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property DataTypeLength() As Integer
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 是否允许为空
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property IsNull() As Boolean = True
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 是否自动增长
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property IsAutoIncrement() As Boolean
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 是否为主键
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property IsPrimaryKey() As Boolean
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 是否为唯一值
|
|||
|
|
''' </summary>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Property IsUnique() As Boolean
|
|||
|
|
|
|||
|
|
|
|||
|
|
Public Function ToAddColString() As String
|
|||
|
|
Dim sb As New StringBuilder
|
|||
|
|
sb.Append($"`{ColumnName}`")
|
|||
|
|
|
|||
|
|
Select Case DataType
|
|||
|
|
Case DataTypeEnum.Varchar, DataTypeEnum.Nchar, DataTypeEnum.Nvarchar
|
|||
|
|
sb.Append($" {DataType}({DataTypeLength}) ")
|
|||
|
|
Case DataTypeEnum.Int,DataTypeEnum.Integer
|
|||
|
|
sb.Append($" {DataType}")
|
|||
|
|
Case Else
|
|||
|
|
sb.Append($" {DataType}")
|
|||
|
|
End Select
|
|||
|
|
|
|||
|
|
If IsAutoIncrement Then sb.Append($" AUTOINCREMENT")
|
|||
|
|
|
|||
|
|
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
|
|||
|
|
|
|||
|
|
If IsPrimaryKey Then
|
|||
|
|
sb.Append($" PRIMARY KEY")
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
Return sb.ToString()
|
|||
|
|
End Function
|
|||
|
|
End Class
|
|||
|
|
End Namespace
|