modifyField method

Future<void> modifyField(
  1. Object obj,
  2. Object newObj,
  3. String fieldName
)

Implementation

Future<void> modifyField(Object obj, Object newObj, String fieldName) async {
  if (!initialized) throw ArgumentError(C_MUST_INIT);
  FieldData fieldData = FieldData.wee(table_id);
  fieldData.set(fieldName, newObj);
  WhereData whereData = WhereData();
  whereData.set(fieldName, SqlOperator.EQUAL, obj);
  String sql = sqlCommands.update(fieldData, whereData);
  print(sql);
  try {
    var affectedRows = await transaction.getConnection().updateQuery(sql);
    if (affectedRows == 0)
      throw SqlException(SqlExceptionEnum.ENTRY_NOT_FOUND,
          sql: sql, json: fieldData.toJson());
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.TABLE_NOT_FOUND) {
      throw SqlException(SqlExceptionEnum.ENTRY_NOT_FOUND,
          cause:
              SqlExceptionTools.getMessage(SqlExceptionEnum.TABLE_NOT_FOUND),
          sql: sql,
          json: fieldData.toJson());
    } else
      rethrow;
  }
}