Guffa | Foto | Programmering

Funktioner för strängar och datum

För att skapa SQL-frågor kan dessa två funktioner vara användbara:

<%

' --- Inställningar
' Här ställer du inte vilken databas du använder

' Ifall du använder MySQL så ska värdet vara True, annars False
Const UsingMySQL = False
' Ifall du använder Access så ska värdet vara True, annars False
Const UsingAccess = True

' --- SQLString

' Funktionen kodar de tecken som behöver kodas i en sträng och omger den med apostrofer.

Function SQLString(strValue)
   If IsNull(strValue) Then
      SQLString = "null"
   Else
      If UsingMySQL Then
         SQLString = "'" & Replace(Replace(strValue, "\", "\\"), "'", "\'") & "'"
      Else
         SQLString = "'" & Replace(strValue, "'", "''") & "'"
      End If
   End If
End Function

' --- SQLDate

' Funktionen gör om datumet till ISO-standard och omger det med rätt avgränsare.

Function SQLDate(datDate)
   Dim lngLCID

   If IsNull(datDate) Then
      SQLDate = "null"
   Else
      lngLCID = Response.LCID
      Response.LCID = 1053
      If UsingAccess Then
         SQLDate = "#" & CDate(datDate) & "#"
      Else
         SQLDate = "'" & CDate(datDate) & "'"
      End If
      Response.LCID = lngLCID
   End If
End Function

%>

Exempel:
strSQL = _
   "insert into Messages(" & _
      "MessageText, " & _
      "MessageDate" & _
   ") values (" & _
      SQLString(Request.Form("Message")) & "," & _
      SQLDate(Now()) & _
   ")"