Delphi+Firebird: помогите правильно написать команду!

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 15 фев 2007, 16:40

kdv писал(а):не надо, все и так ясно. статью поправил (черт, за сегодня уже 5-ый раз).
Всего-то? Пока я на апгрейды не забил, Джефф это поведение менял в каждой версии то так то этак. Такшта ещё раза три точно придётся :)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 фев 2007, 16:55

а я специально упомянул, что "зависит от версии" :-)

D_Stranger
Сообщения: 6
Зарегистрирован: 14 фев 2007, 11:30

Сообщение D_Stranger » 17 фев 2007, 11:12

седня промучался целый час над FireBird из-за одного прикола. На данный момент перевожу прогу с БДЕ на ИБ.
был код

Код: Выделить всё

if QueryHead.fieldvalues['doc_type'] = 'temp' then
  query1.sql.add('Update "doc_header" set "doc_type" = ''ready'' where "doc_code" = :"doc_code"');
переписал на

Код: Выделить всё

if datamodule1.IBQueryHead.fieldvalues['doc_type'] = 'temp' then
    ibquery1.sql.add('Update "doc_header" set "doc_type" = ''ready'' where "doc_code" = :"doc_code"');
проверка условия не выполнялась, т.к. каким то лешим фигом при "вытаскивании" значения из базы получалось не чистое 'temp', а с пробелами...

пришлось вставить тяжелую процедуру trim:

Код: Выделить всё

if trim(datamodule1.IBQueryHead.fieldvalues['doc_type']) = 'temp' then
    ibquery1.sql.add('Update "doc_header" set "doc_type" = ''ready'' where "doc_code" = :"doc_code"');

mdfv
Сообщения: 119
Зарегистрирован: 23 май 2006, 15:53

Сообщение mdfv » 17 фев 2007, 12:45

Надо в сторону типов данных и их отличий читать.
Например здесь http://ibase.ru/devinfo/charvar.htm

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 17 фев 2007, 18:34

mdfv писал(а):Надо в сторону типов данных и их отличий читать.
Например здесь http://ibase.ru/devinfo/charvar.htm
Не факт что только там. Ещё обратить внимание на проперть FixedChar в TIBStringField. За обращение с которой, во всяком случае, в ранних версиях IBX, Джеффа искренне хотелось утопить в писсуаре.
mdfv писал(а): _________________
Спасибо
Да на здоровье :lol:

Ответить