Пример #1
0
        public override string CreateUpdate(ChangedObject obj)
        {
            ClassWrapper currentClassWrapper = wrappingHandler.GetClassWrapper(obj.RuntimeObject.GetType());

            string result = "UPDATE ";

            result += currentClassWrapper.Name;

            result += " SET ";

            string delimiter = "";

            foreach (var elm in obj.GetChangedFields())
            {
                PropertyWrapper currentFieldWrapper = currentClassWrapper.GetFieldWrapper(elm.Key);

                result += delimiter + currentFieldWrapper.Name;
                result += " = ";
                //            result += normalizeValueForInsertStatement(currentFieldWrapper.getOriginalField().getType(), elm.getValue());
                result += fieldTypeParser.NormalizeValueForInsertStatement(elm.Value);

                if (delimiter == "")
                {
                    delimiter = " , ";
                }
            }

            result += " WHERE ";
            result += currentClassWrapper.GetPrimaryKeyMember().Name + " = ";
            result += "'" + obj.RuntimeObject.ID + "'";


            return(result);
        }
Пример #2
0
        public override void Update(ChangedObject obj)
        {
            var command = _connection.CreateCommand();

            command.CommandText = statementBuilder.CreateUpdate(obj);
            command.ExecuteNonQuery();
        }
Пример #3
0
 public abstract void Update(ChangedObject obj);