This commit is contained in:
2026-07-19 23:30:33 +02:00
parent 718115a1e4
commit cf75d131cc
12 changed files with 1273 additions and 778 deletions

View File

@@ -370,9 +370,9 @@ Public Class cProgramFunctions
Try
Dim sql As String =
"SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '" & tableName & "'
AND DATA_TYPE IN ('varchar','nvarchar','char','nchar','decimal','numeric','float','real')"
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '" & tableName & "'
AND DATA_TYPE IN ('varchar','nvarchar','char','nchar','decimal','numeric','float','real')"
Dim dt As DataTable =
(New SQL).loadDgvBySql(sql, conn_art)
@@ -404,6 +404,26 @@ Public Class cProgramFunctions
Dim valueObj As Object = p.Value()
Dim valueStr As String = valueObj.ToString
' -------------------------
' BIT / BOOLEAN
' -------------------------
If dataType = "bit" Then
Select Case valueStr.Trim.ToLower
Case "true"
' gültig
Case "false"
' gültig
Case "1", "0"
' bereits gültig
Case Else
errors.Add(fieldName & " -> Ungültiger Bit-Wert: " & valueStr)
End Select
Continue For
End If
' -------------------------
' 1) TEXTFELDER
' -------------------------
@@ -413,6 +433,14 @@ Public Class cProgramFunctions
If maxLen = -1 Then Continue For ' varchar(max)
If maxLen = 1 Then
If valueStr.Equals("true", StringComparison.OrdinalIgnoreCase) Then
valueStr = "1"
ElseIf valueStr.Equals("false", StringComparison.OrdinalIgnoreCase) Then
valueStr = "0"
End If
End If
If valueStr.Length > maxLen Then
errors.Add(fieldName & " -> " & valueStr.Length & "/" & maxLen)
End If