von Stephan » Mo, 15.01.2018 12:09
Hallo,
ich versuche CURDATE() oder CURRENT_DATE() in einem SQL-Ausdruck zu verwenden, um per Basic einen DAtensatz in eine Datentabelle zu schreiben.
ich verwende derzeitig ersatzweise folgenden Code:
Code: Alles auswählen
Sub Test()
'...
oDataSource = oBaseContext.getByName(DB_name) 'DB_name, siehe Modul "_info"
oCon = oDataSource.getConnection(sUser, sPassword)
oStatement = oCon.createStatement()
akt_Datum = Date_2_SQLDate(DATE())
sql_string = "INSERT INTO ""Firma"" (""Firmenname"", ""Abteilung"", ""FPostStrasse""," &_
"""FPostleizahl"", ""FOrt"", ""FLand"", ""FBsStrasse"", ""FBsPostleizahl""," &_
"""FBsOrt"", ""FeMail"", ""FUrl"", ""FAdressKategorie"", ""FTelefonZentrale""," &_
"""FFax"", ""FBemerkung"", ""FGeaendert"") VALUES ('" & var_Firmenname & "', '" & var_Abteilung & "'," &_
"'" & var_FPostStrasse & "', '" & var_FPostleizahl & "', '" & var_FOrt & "', '" & var_FLand & "'," &_
"'" & var_FBsStrasse & "', '" & var_FBsPostleizahl & "', '" & var_FBsOrt & "', '" & var_FeMail & "'," &_
"'" & var_FUrl & "', '" & var_FAdressKategorie & "', '" & var_FTelefonZentrale & "', '" & var_FFax & "'," &_
"'" & var_FBemerkung & "','" & akt_Datum & "')"
oStatement.executeUpdate(sql_string)
End Sub
FUNCTION Date_2_SQLDate(d AS DATE) AS STRING
DIM stMonth AS STRING
DIM stDay AS STRING
IF Month(d) < 10 THEN
stMonth = "0" + Trim(Str(Month(d)))
ELSE
stMonth = Trim(Str(Month(d)))
END IF
IF Day(d) < 10 THEN
stDay = "0" + Trim(Str(Day(d)))
ELSE
stDay = Trim(Str(Day(d)))
END IF
Date_2_SQLDate = Trim(Str(Year(d))) +"-"+ stMonth +"-"+ stDay
END FUNCTION
Wie kann ich CURDATE() oderr CURRENT_DATE() in sql_string direkt nutzen? Oder geht das nicht? Ich probiere seit einer Stunde...
Gruß
Stephan
Hallo,
ich versuche CURDATE() oder CURRENT_DATE() in einem SQL-Ausdruck zu verwenden, um per Basic einen DAtensatz in eine Datentabelle zu schreiben.
ich verwende derzeitig ersatzweise folgenden Code:
[code]Sub Test()
'...
oDataSource = oBaseContext.getByName(DB_name) 'DB_name, siehe Modul "_info"
oCon = oDataSource.getConnection(sUser, sPassword)
oStatement = oCon.createStatement()
akt_Datum = Date_2_SQLDate(DATE())
sql_string = "INSERT INTO ""Firma"" (""Firmenname"", ""Abteilung"", ""FPostStrasse""," &_
"""FPostleizahl"", ""FOrt"", ""FLand"", ""FBsStrasse"", ""FBsPostleizahl""," &_
"""FBsOrt"", ""FeMail"", ""FUrl"", ""FAdressKategorie"", ""FTelefonZentrale""," &_
"""FFax"", ""FBemerkung"", ""FGeaendert"") VALUES ('" & var_Firmenname & "', '" & var_Abteilung & "'," &_
"'" & var_FPostStrasse & "', '" & var_FPostleizahl & "', '" & var_FOrt & "', '" & var_FLand & "'," &_
"'" & var_FBsStrasse & "', '" & var_FBsPostleizahl & "', '" & var_FBsOrt & "', '" & var_FeMail & "'," &_
"'" & var_FUrl & "', '" & var_FAdressKategorie & "', '" & var_FTelefonZentrale & "', '" & var_FFax & "'," &_
"'" & var_FBemerkung & "','" & akt_Datum & "')"
oStatement.executeUpdate(sql_string)
End Sub
FUNCTION Date_2_SQLDate(d AS DATE) AS STRING
DIM stMonth AS STRING
DIM stDay AS STRING
IF Month(d) < 10 THEN
stMonth = "0" + Trim(Str(Month(d)))
ELSE
stMonth = Trim(Str(Month(d)))
END IF
IF Day(d) < 10 THEN
stDay = "0" + Trim(Str(Day(d)))
ELSE
stDay = Trim(Str(Day(d)))
END IF
Date_2_SQLDate = Trim(Str(Year(d))) +"-"+ stMonth +"-"+ stDay
END FUNCTION[/code]
[b]Wie kann ich CURDATE() oderr CURRENT_DATE() in sql_string direkt nutzen?[/b] Oder geht das nicht? Ich probiere seit einer Stunde...
Gruß
Stephan