suppose we have a front end where user can select different filters to narrow down the query results.In this case it is not already known which all fields user will select.
A dynamic query for this case can be constructed using this trick:
here fieldNames is the array containing names of all filters and fields is the array containing values provided by user.
String query="SELECT * from tableName";
String prefix=" WHERE "; //notice spaces before and after WHERE
for(int i=0;i<fields.length;i++){
if(fields(i)!=null)
{query=query+prefix+fieldNames(i)+" = "+fields(i);
prefix=" OR " //notice spaces before and after OR
}
}
A dynamic query for this case can be constructed using this trick:
here fieldNames is the array containing names of all filters and fields is the array containing values provided by user.
String query="SELECT * from tableName";
String prefix=" WHERE "; //notice spaces before and after WHERE
for(int i=0;i<fields.length;i++){
if(fields(i)!=null)
{query=query+prefix+fieldNames(i)+" = "+fields(i);
prefix=" OR " //notice spaces before and after OR
}
}
Great work !!! Keep it up...
ReplyDelete