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

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

Кто знает подробности о SQL Dialect в IB6 [D5, IB6.x]


KonuhovSegey ©   (2002-03-30 09:53:00) 

Кто знает чем отличаются 1-й и 3-й SQL диалект в IB6 ?
Насколько я понял в 3-м более точно поддерживаются NUMERIC поля, т.е. они хранятся в BCD формате, а в 1-м наверное все в Double.
Может кто подскажет адрес где об этом подробно написано.

И второй вопрос.
Мне кажется, что компоненты IBExpress где то кешируют структуру таблицы, и при переходе из одного диалекта в другой, данные не обновляются. Как их надежно обновить?
Используется компонент IBDataSet из Delphi5.
Буду благодарен за любую информацию.


KonuhovSegey   (2002-03-31 10:52:00) [1]

При переходе из одного диалекта SQL на другой не обновляются данные о структуре таблицы, или точнее о типах полей.

Дело в том, что при создании таблицы с полем типа Number(12,2),
диалект 1 преобразует его в number(18,2), как он сам сообщает при просмотре структуры полученной БД.

На самом деле, возможно, преобразует и к Double, кто его знает.
Delphi, в свою очередь, читает его как TFloatField.

В диалекте 3, все происходит на вид правильно, то есть получаем тот тип, который хотели и тип поля TIBBCD.

Разумеется для этого производится повторное создание БД.
Но Delphi еще некоторое время воспринимает старые типы полей, и начинает брать правильные только после некоторых шаманских действий.
Я никак немого понять после каких именно.


Rad   (2002-03-30 11:53:00) [2]

№1 - ib.demo.ru

№2 - можно чуть поподробней, что ты имеешь в виду под обновлением данных при переходе из одного диалекта в другой?


Наверх

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