| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > отображение данных в TDBGrid из базы Постгрес |
| Автор: maxfox111 4.2.2015, 22:12 | ||
| Добрый день, Если можно подскажите (ткните носом ) где могу ошибаться, при отображении данных в TDBGrid из базы Постгрес. Используя компоненты ZEOS. В базе постгреса есть таблица, с полями как приведено ниже. CREATE TABLE fmbz_user.table_accountfio ( id serial NOT NULL, -- автоинкрементное поле таблицы id_accountidentifier numeric NOT NULL, -- Уникальный идентификатор сотрудника id_lastname text, -- Фамилия сотрудника id_firstname text, -- Имя сотрудника id_middlename text, -- Отчество сотрудника id_birthday text, -- день рождения сотрудника id_center text, -- Центр в котором работает сотрудник id_state text, -- состояние сотрудника (активен/в резерве) id_specialist text, -- квалификация сотрудника как специалиста id_manager text, -- квалификация сотрудника как менеджера CONSTRAINT firstkey PRIMARY KEY (id_accountidentifier) ) На форме, ZConnection_Main : TZConnection; ZQuery_Main : TZQuery; DBGrid_MainForm_FIO : TDBGrid; DataSource_Main : TDataSource;
ВСЕ поля в DBGrid, за исключением поля 'id_AccountIdentifier', устанавливаются в значение “(MEMO)” поля предназначенные для данных 'id_AccountIdentifier' показывают правильные значения (открывал pgAdminIII и проверял) В чем может быть моя ошибка? |
| Автор: Zloxa 6.2.2015, 22:06 |
В постгре тип text - неограниченной длинны строка. Т.е. гипотетически она может занимать и 4Гб. Если сдуру попытаться затащить такую запись одним махом на клиента, можно и ян сдуру сломать. По этой причине типы данных неограниченного размера, как правило, не тащатся на клиета прям сразу полностью в результатах запросы, запросы на клинта отдают что-то вроде дескриптора, по которому клиент может затащить выборочно то, ему нужно и столько, сколько ему нужно. По этой причине Вы видите не значение а слово "MEMO". В общем, ответ на Ваш вопрос - вы не правльно выбрали тип данных для своих таблиц. Попробуйте varchar, он здесь определнно уместнее и работать с ним проще. |