From 51f35f9337a4e92825f23d7cc6ea7e6f4447adf2 Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Tue, 11 Apr 2017 11:52:38 -0400 Subject: [PATCH] Update build SQL to have a select case for each data type and add as cast to date on null --- TheBigOne.cls | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/TheBigOne.cls b/TheBigOne.cls index 3c1eb70..1f51785 100644 --- a/TheBigOne.cls +++ b/TheBigOne.cls @@ -1877,19 +1877,32 @@ Public Function ADOp_BuildInsertSQL(ByRef tbl() As String, target As String, tri rec = rec & "(" For j = 0 To UBound(tbl, 1) If j <> 0 Then rec = rec & "," - If ftype(0)(j) <> "S" Then - If tbl(j, i) = "" Then - rec = rec & "NULL" - Else - rec = rec & Replace(tbl(j, i), "'", "''") - End If - Else - If trim Then - rec = rec & "'" & LTrim(RTrim(Replace(tbl(j, i), "'", "''"))) & "'" - Else - rec = rec & "'" & Replace(tbl(j, i), "'", "''") & "'" - End If - End If + Select Case ftype(0)(j) + Case "N" '-------N = numeric but should probably be N for numeric---- + If tbl(j, i) = "" Then + rec = rec & "NULL" + Else + rec = rec & Replace(tbl(j, i), "'", "''") + End If + Case "S" '-------S = string------------------------------------------ + If trim Then + rec = rec & "'" & LTrim(RTrim(Replace(tbl(j, i), "'", "''"))) & "'" + Else + rec = rec & "'" & Replace(tbl(j, i), "'", "''") & "'" + End If + Case "D" '-------D = date--------------------------------------------- + If LTrim(RTrim(tbl(j, i))) = "" Then + rec = rec & "CAST(NULL AS DATE)" + Else + rec = rec & "'" & tbl(j, i) & "'" + End If + Case Else '-------Assume text------------------------------------------ + If trim Then + rec = rec & "'" & LTrim(RTrim(Replace(tbl(j, i), "'", "''"))) & "'" + Else + rec = rec & "'" & Replace(tbl(j, i), "'", "''") & "'" + End If + End Select Next j rec = rec & ")" sql = sql & rec @@ -1898,3 +1911,4 @@ Public Function ADOp_BuildInsertSQL(ByRef tbl() As String, target As String, tri ADOp_BuildInsertSQL = sql End Function +