'return "", if no data
Sub GetStringFromSQL (SQL As SQL, req As String) As String
Dim a As String
Try
a = SQL.ExecQuerySingleResult(req)
Catch
Return ""
End Try
If a = Null Then
Return ""
Else If a.ToLowerCase = "null" Then
Return ""
Else If a = "" Then
Return ""
Else
Return a
End If
End Sub
Sub GetBooleanFromSQL (SQL As SQL, req As String) As Boolean
Dim a As String
Try
a = SQL.ExecQuerySingleResult(req)
Catch
Return False
End Try
If a = Null Then
Return False
Else If a.ToLowerCase = "null" Then
Return False
Else If a = "" Then
Return False
Else if a = "0" Or a.ToLowerCase = "false" Then
Return False
Else
Return True
End If
End Sub
'return -2147483648, if no valid number data
Sub GetIntFromSQL (SQL As SQL, table As String, req As String) As Int
Dim Const NegativeRes As Int = -2147483648
Dim q As Int = SQL.ExecQuerySingleResult("SELECT count(*) FROM " & table)
If q = 0 Then
Return NegativeRes
End If
Dim a As String
Try
'req may be wrong syntax, dangerous
a = SQL.ExecQuerySingleResult(req)
Catch
Log("GetIntFromSQL(" & req & ").error = " & LastException)
Return NegativeRes
End Try
If a = Null Then
Return NegativeRes
Else If a.ToLowerCase = "null" Then
Return NegativeRes
Else If IsNumber(a) = False Then
Return NegativeRes
Else
Dim res As Int = a
Return res
End If
End Sub
'return -9223372036854775808, if no valid number data
Sub GetLongFromSQL (SQL As SQL, table As String, req As String) As Long
Dim Const NegativeRes As Long = -9223372036854775808
If TableExists(SQL, table) = False Then
Log("GetIntFromSQL(" & table & ") does not exist")
Return NegativeRes
End If
Dim q As Int = SQL.ExecQuerySingleResult("SELECT count(*) FROM " & table)
If q = 0 Then
Return NegativeRes
End If
Dim a As String
Try
'req may be wrong syntax, dangerous
a = SQL.ExecQuerySingleResult(req)
Catch
Log("GetIntFromSQL(" & req & ").error = " & LastException)
Return NegativeRes
End Try
If a = Null Then
Return NegativeRes
Else If a.ToLowerCase = "null" Then
Return NegativeRes
Else If IsNumber(a) = False Then
Return NegativeRes
Else
Dim res As Long = a
Return res
End If
End Sub