Android Question Postgres database error while sending Date from SQLite Database

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 :
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
 
Top