private String prepareQueryString(String[] colNames, String queryOrder, String queryLimit, String queryOffset) {
		System.out.println("##### DbTable#prepareQueryString - queryOrder="  + queryOrder);
		System.out.println("##### DbTable#prepareQueryString - queryLimit="  + queryLimit);
		System.out.println("##### DbTable#prepareQueryString - queryOffset=" + queryOffset);
		// TODO: optimize with StringBuffer	
		String query = null;

		if( (colNames != null) && (colNames.length > 0) ) {
			query = "SELECT";

			for(int i=0; i < colNames.length; i++) {
				query += " " + colNames[i];
				if(i < (colNames.length - 1)) {
					query += ",";
				}
			}

			query += " FROM ";
			query += tableName;
		}

		// order by
		if(queryOrder != null) {	
			query += " ORDER BY " + queryOrder;
		}

		// limit
		if(queryLimit != null) {	
			query += " LIMIT " + queryLimit;
		}

		// offset
		if(queryOffset != null) {	
			query += " offset " + queryOffset;
		}

		return(query);
	}