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 ''' ''' 列名 ''' ''' Public Property ColumnName() As String ''' ''' 当前值 ''' ''' Public Property Value() As String ''' ''' 默认值 ''' ''' Public Property DefaultValue() As String ''' ''' 数据类型 ''' ''' Public Property DataType() As DataTypeEnum ''' ''' 数据类型长度 ''' ''' Public Property DataTypeLength() As Integer ''' ''' 是否允许为空 ''' ''' Public Property IsNull() As Boolean = True ''' ''' 是否自动增长 ''' ''' Public Property IsAutoIncrement() As Boolean ''' ''' 是否为主键 ''' ''' Public Property IsPrimaryKey() As Boolean ''' ''' 是否为唯一值 ''' ''' 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