bash.im ithappens.me zadolba.li
663

Не волшебник, а только учусь

В работе с базами данных не силен, но попросили написать простое приложение для обработки-хранения заявок от клиентов и последующей печати накладных и маркировочных наклеек. Кое-как вспомнил, что мы проходили год назад по предмету "Базы данных". Набросал малюсенькую фаербердовскую базу. Ваяю клиентское приложение (все команды к базе данных генерируются через OLE DB провайдер, так как SQL тоже слабо помню).

Все таблицы нормально обрабатываются - грузятся, строки добавляются и удалаются. А с одной таблицей не заладилось - выгружается она нормально, а обновляться не хочет. И самое главное - процедура-то та же самая, что и для обработки других таблиц. Два дня бился, очень переживал, много курил, так как хотелось поскорее доделать и взяться за лабораторные, которых к сессии еще очень много сдавать, а Новый год уже близко.
В итоге, решил для локализации ошибки создать совсем пустую базу с единственной таблицей, полностью скопировав структуру той злополучной таблицы. Но IBExpert не дал мне ее скомпилировать - он ругался на поле с названием DATE и выдавал мне тот же номер ошибки, что и мой клиент. Назвал поле O_DATE и все отлично - таблица компилируется, клиент добавляет и удаляет записи.

Наверное, если бы я исправно ходил на лекции по соответствующему предмету, я бы знал, что нельзя использовать в названиях колонок зарезервированные имена.

P.S. Если добавлять эту дурацкую колонку к уже существующей таблице - вас ждет успех и никаких ошибок при ее создании вы не увидите.