JDBC Driver for QuickBooks Online

Build 22.0.8675

GETDELETED Statements

You can issue the GETDELETED query to retrieve all records deleted from the live data for the time range specified. This query accepts a datetime value as a filter. You can also use the statement without a filter.

When used on LineItem tables or other 'child entities', GETDELETED will instead return the parent records which have been modified rather than information about the child records which have been deleted. This is a limitation of the QuickBooks Online api.

GETDELETED FROM <table_name>
GETDELETED FROM <table_name> WHERE <search_condition>


<search_condition> ::= 
  {
    <expression> { = | < | <= | > | >= } [ <expression> ] 
  } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
  

String cmd = "GETDELETED FROM Customers WHERE [MetaData_LastUpdatedTime]>'2018-06-08T06:53:38-07:00'";
PreparedStatement pstmt = connection.prepareStatement(cmd);
ResultSet rs = pstmt.getResultSet();
while(rs.next()){	
  System.out.println(rs.getString("Id"));
}
connection.close();
Note: By putting a CACHE command in front of the query, you can update the cache to remove all values that have been deleted from the data source. This is shown in the query below:
CACHE GETDELETED FROM [TableName]

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8675