Dynamic Query

User can use query to construct a query SQL statement as he wants to query data from local database. This query may across multiple tables (MBOs).

SUPQuery *query = [SUPQuery getInstance];
[query select:@"c.fname,c.lname,s.order_date,s.region"];        
[query  from:@"Customer":@"c"];
[query  join:@"SalesOrder":@"s":@"s.cust_id":@"c.id"];
query.testCriteria = [SUPAttributeTest match:@"c.lname":@"Devlin"];
SUPQueryResultSet* resultSet = [SampleApp_SampleAppDB executeQuery:query];
if(resultSet == nil)
  {
    MBOLog(@"executeQuery Failed !!");
    return;
  }
for(SUPDataValueList* result in resultSet)
{
    MBOLog(@"Firstname,lastname,order date,region = %@ %@ %@ %@",
    [SUPDataValue  getNullableString:[result item:0]],
    [SUPDataValue getNullableString:[result item:1]],
    [[SUPDataValue getNullableDate:[result item:2]] description],
    [SUPDataValue getNullableString:[result item:3]]);
}
	
Note: A wildcard is not allowed in the select clause. You must use explicit column names.