laatzen/Pruef2000/source/Shared/universal/SQL.bas
2021-10-01 11:11:04 +02:00

110 lines
2.5 KiB
QBasic

Attribute VB_Name = "modSQL"
'==============================================================================
'
' File : SQL.bas
' Date : 18.03.1999
' Version: 1.00
' Author : Andreas Schmidt, lindner&partner
'
'==============================================================================
'
' *shared*
'
' Hilfsfunktionen für die Klassen CSQL und CRecordset.
'
'==============================================================================
'
' History:
'
' Date : 18.03.1999
' Version: 1.00
' Author : Andreas Schmidt, lindner&partner
'
' Erste dokumentierte Version.
'
'==============================================================================
Option Explicit
' @param s String, der in ein SQL-Statement gesetzt werden soll
' @param bTicks true = String soll von einfachen Hochkommans umschlossen werden
'
Public Function stringToSQLString(ByVal s As String, Optional bTicks As Boolean) As String
Dim i As Long
If IsMissing(bTicks) Then bTicks = True
i = -1
Do
i = InStr(i + 2, s, "'")
If i = 0 Then Exit Do
s = Left$(s, i) & "'" & Mid$(s, i + 1)
Loop
If bTicks Then
stringToSQLString = "'" + s + "'"
Else
stringToSQLString = s
End If
End Function
' Date/Time in das Format #9/3/68 3:00:00 PM# bringen.
'
' @param dDateTime Datum, das in ein SQL-Statement gesetzt werden soll
'
Public Function dateToSQLString(dDateTime As Date) As String
Dim i As Integer
Dim c As String
Dim sRet As String
Dim sDateTime As String
On Error Resume Next
sDateTime = Format$(dDateTime, "mm/dd/yy hh:mm:ss AM/PM")
For i = 1 To Len(sDateTime)
c = Mid$(sDateTime, i, 1)
If c = "." Then
sRet = sRet & "/"
Else
sRet = sRet & c
End If
Next i
dateToSQLString = "'" + sRet + "'"
End Function
' @param d Double, das in ein SQL-Statement gesetzt werden soll
'
Public Function doubleToSQLString(d As Double) As String
Dim i As Long
Dim s As String
s = Format$(d)
i = InStr(1, s, ",")
If i > 0 Then
s = Left(s, i - 1) & "." & Right(s, Len(s) - i)
End If
doubleToSQLString = s
End Function
' @param Value Wert, der in einen SQL-Statement verwendet werden soll
'
Public Function ValueToSQLString(Value As Variant) As String
Dim i As Long
Dim s As String
s = Format$(Value)
i = InStr(1, s, ",")
If i > 0 Then
s = Left(s, i - 1) & "." & Right(s, Len(s) - i)
End If
ValueToSQLString = s
End Function