Example #1
0
        public override IDbCommand UPDATE(DBConnection db, string tableName, int rowId, DBItem item)
        {
            MySqlCommand command = new MySqlCommand();

            var columnTuples = ColumnsToTuple(db.Application, tableName, item.getFullColumnNames()).Where(ct => ct.Item2 != PrimaryKey);

            command.CommandText =
                $"UPDATE {ToRealTableName(db.Application, tableName)} SET {string.Join(", ", columnTuples.Select(pair => $"{ToRealTableName(db.Application, pair.Item1)}.{AddQuote(pair.Item2)}=@{command.AddParam(pair.Item2, item[$"{pair.Item1}.{pair.Item2}"])}"))} WHERE {ToRealTableName(db.Application, tableName)}.{AddQuote(PrimaryKey)}=@_{PrimaryKey}_;";

            command.Parameters.Add(new MySqlParameter($"_{PrimaryKey}_", rowId));

            return(command);
        }
Example #2
0
        public DBTable Delete(DBItem item)
        {
            Manager <Condition> conditions = new Manager <Condition>(_db);

            conditions.i.tabloidName = Name;
            foreach (string columnName in item.getFullColumnNames())
            {
                conditions.Start();
                conditions.i.column = columnName;
                conditions.i.operation_params.Add(item[columnName]);
                conditions.Next();
            }

            _db.Commands.Enqueue(_db.CommandSet.DELETE(_db, Name, conditions));

            return(this);
        }