Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать, чтобы IB сама обрезала записи VARCHAR, [D7, Yaffi]


Disruptor ©   (2003-11-21 10:12:00) 

которые больше, чем позволено максимальной длиной.
Я делаю INSERT ... И если запись больше, чем возможно - она выдает ошибку. Можно этого как-нибудь избежать? Спасибо.


Deniz   (2003-11-21 13:44:00) [1]


> sniknik © (21.11.03 12:28) [6]


Автор спросил про " Только я думал, что это может сделать сама IB". Ему так и ответили. А твой вопрос лучше к автору переадресовать.


sniknik   (2003-11-21 12:28:00) [2]

Digitman © (21.11.03 12:02) [5]
> проблем не будет никаких
а трафик? посылать с клиента на сервер кучу данных только для того чтобы записалась только часть их, хорошо ли это?
строки то могут быть довольно длинные.


Digitman   (2003-11-21 12:02:00) [3]


> Disruptor


создай UDF, которая будет обрезать vchar(), вызывай ее в триггере на вставку/модификацию, результат вызова UDF пиши в нужное поле - проблем не будет никаких


stud   (2003-11-21 10:37:00) [4]

отсылать в базу подготовленные данные, а готовить их на клиенте


Sandman25   (2003-11-21 10:26:00) [5]

Возможно, сможет и сама IB. Я не спец по IB, к сожалению.
Во всяком случае Informix при выполнении команды insert into table(varchar10chars) values ("012345678901234456789")
никаких ошибок не выдает, а вставляет именно первые 10 символов.
Возможно, у IB есть настройка, управляющая поведением в данном случае. Подождите других отвечающих.


Disruptor   (2003-11-21 10:17:00) [6]

Спасибо. Только я думал, что это может сделать сама IB. Дело в том, что при репликации я не всегда знаю тип переносимого поля.


Sandman25   (2003-11-21 10:15:00) [7]

MyVarcharField.AsString := Copy(theValue, 1, MyVarcharField.Size)
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо