createQuery method
void
createQuery()
Implementation
void createQuery() {
if (isEditedQuery) {
_selectQuery = _customSqlQuery;
return;
}
final sb = StringBuffer('SELECT');
if (areAllColumnsSelected) {
sb.write(' *');
} else {
final list = <String>[];
for (var i = 0; i < _selectColumns.keys.length; ++i) {
if (_selectColumns.values.toList()[i]) {
list.add(_selectColumns.keys.toList()[i]);
}
}
for (var i = 0; i < list.length; ++i) {
sb.write(' ${list[i]}');
if (i < list.length - 1) {
sb.write(',');
}
}
}
sb.write(' FROM $tableName');
final sqlWhereClauses = whereClauses
.map((item) => item.getSqlWhereClause())
.where((item) => item.isNotEmpty)
.toList();
if (sqlWhereClauses.isNotEmpty) {
sb.write(' WHERE');
for (var i = 0; i < sqlWhereClauses.length; ++i) {
final clause = sqlWhereClauses[i];
sb.write(clause);
if (i != sqlWhereClauses.length - 1) {
sb.write(' AND');
}
}
}
if (_orderingColumn != null && _orderingColumn!.isNotEmpty) {
sb.write(' ORDER BY $_orderingColumn');
if (_asc) {
sb.write(' ASC');
} else {
sb.write(' DESC');
}
}
sb.write(' LIMIT $_limit');
_selectQuery = sb.toString();
}