Pravee7094
Active Member
Hi all,
I just insert the date in to sqlite database and I try to send the date to Postgres database using starter service.
Here is the sample coding :
PHP coding:
Error Mesage I got:
ResponseError. Reason: Internal Server Error, Response: {
"statusCode": 500,
"error": {
"type": "SERVER_ERROR",
"description": "SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type timestamp: \"null\"\nLINE 1: ...35', '2021-07-26 17:48:24', '7094767435', 'null', 'null', 'n...\n ^"
}
}
datatype for date used in SQLite database is "TEXT"
datatype for date used in Postgres database is "timestamp without time zone"
Any suggestion or Help?
Regards
Praveen
I just insert the date in to sqlite database and I try to send the date to Postgres database using starter service.
Here is the sample coding :
B4X:
Dim ll_list As List
ll_list.Initialize
Timer1.Enabled = False
Dim ls_http As HttpJob
Dim gen As JSONGenerator
Dim ls_sql_query as String
Dim ls_resultset as ResultSet
ls_sql_query = " Select insertdate "
ls_sql_query = ls_sql_query & " From in_sales_order_header_temp "
ls_resultset = Main.gs_sql.ExecQuery(ls_sql_query)
Do While ls_resultset.NextRow
Dim ls_insertdate_header As String = ls_resultset.Getstring("insertdate")
Dim lm_map As Map
lm_map.Initialize
lm_map.Put("insertdate_header", ls_insertdate_header)
ll_list.Add(lm_map)
Loop
gen.Initialize2(ll_list)
Dim ls_str As String
ls_str = gen.ToString
Log(gen.ToString)
Log("Ls_str : " & ls_str)
If ls_str = "" Then
Timer1.Enabled = True
Return
End If
ls_http.Initialize("j1",Me)
ls_http.PostString(Main.gs_url & "/salesordertemp/insertCustomerItemDetails", ls_str)
Wait For (ls_http) JobDone(ls_http As HttpJob)
If ls_http.Success = False Then
Timer1.Enabled = True
Return
End If
Dim ls_result As String
ls_result = ls_http.GetString
Log("Returned Item Status: " & ls_result)
PHP coding:
PHP:
$app->post('/salesordertemp/insertCustomerItemDetails', function (request $request, response $response)
{
$db = $this->get(PDO::class);
$data = json_decode(file_get_contents('php://input'), true);
$insertdate_header = isset( $data[0]["insertdate_header"] ) ? $data[0]["insertdate_header"] : null;
If (isset($insertdate_header))
{
$query = "INSERT INTO in_sales_order_header_temp (insertdate)";
$query = $query . "VALUES (" ;
$query = $query . "'".$insertdate_header."') ";
$exec_sql = $db->prepare($query);
$exec_sql->execute();
}
}
Error Mesage I got:
ResponseError. Reason: Internal Server Error, Response: {
"statusCode": 500,
"error": {
"type": "SERVER_ERROR",
"description": "SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type timestamp: \"null\"\nLINE 1: ...35', '2021-07-26 17:48:24', '7094767435', 'null', 'null', 'n...\n ^"
}
}
datatype for date used in SQLite database is "TEXT"
datatype for date used in Postgres database is "timestamp without time zone"
Any suggestion or Help?
Regards
Praveen