Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связать добавленное в Runtime новое поле с DBGrid 
V
    Опции темы
Rowi
Дата 15.8.2011, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет



Доброго времени суток всем!
БД Access, связь через ADO. 
Проблема такая. В RunTime добавлил поле в таблицу БД. Получается. 
Но не могу отобразить новое поле в DBGrid. Т.е. столбец добавляется, но не видит нового поля.

Код

  with DBGrid1.Columns.Add do
  begin
    FieldName:= NewFieldName;
    if Field = nil then // Вставил для проверки
      ShowMessage('Поле не найдено!');
  end;


Те поля, что были созданы в DesignTime, добавлял через Fields Editor (в контекстном меню ADODataSet).
Как правильно связать новый столбец DBGrid с новым полем?

Спасибо.
PM MAIL   Вверх
superVad
Дата 15.8.2011, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Ты в реальную таблицу поле добавил или просто в запросе его стал выбирать? Или оно уже выбиралось в запросе, а ты просто столбец в грид добавляешь, а данные уже есть? ...

Покажи код того, что ты называешь - добавлением поля в таблицу БД в рантайме (что бы это не значило).
PM MAIL   Вверх
Rowi
Дата 15.8.2011, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет



Цитата(superVad @ 15.8.2011,  20:25)
Ты в реальную таблицу поле добавил или просто в запросе его стал выбирать? Или оно уже выбиралось в запросе, а ты просто столбец в грид добавляешь, а данные уже есть? ...

Покажи код того, что ты называешь - добавлением поля в таблицу БД в рантайме (что бы это не значило).


Объясняю.
Есть реальная таблица в БД. Данные из нее отображаются в программе через ADOConnection -> ADODataSet -> DataSource -> DBGrid.
Кроме того, в DesignTime из-за вычисляемых и подстановочных полей приходится всё добавлять в список полей через Fields Editor (двойной щелчок на ADODataSet).

Отдельным SQL-запросом через ADOCommand добавляю в него еще одно поле:
Код

ALTER TABLE MyTable ADD COLUMN NewFieldName TEXT(3)


После этого обновляю набор записей ADODataSet.Requery, и пытаюсь отобразить свежедобавленное поле в DBGrid для редактирования (код в первом посте). Столбец в DBGrid появляется, но для редактирования недоступен и выскакивает моё отладочное сообщение 'Поле не найдено!'
PM MAIL   Вверх
Rowi
Дата 16.8.2011, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет



Вот набросал тестовый проектик. Может, кто попробует...

Это сообщение отредактировал(а) Rowi - 16.8.2011, 11:18

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  TestExample.zip 12,85 Kb
PM MAIL   Вверх
Rowi
Дата 16.8.2011, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2005
Где: Украина

Репутация: нет
Всего: нет



Всё, помогли в другом месте.
На всякий случай выкладываю решение (тот же тестовый проектик, но в исправленном виде) - вдруг кому пригодится:

Вопрос решён.

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  TestExample.zip 13,24 Kb
PM MAIL   Вверх
Dannasha
Дата 30.4.2012, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2012

Репутация: нет
Всего: нет



Помогите мне пожалуйста, у меня такая же проблема, только база данных на PHP My Admin (sql запросы), пробовала изменить код, но все напрасно(
PM MAIL   Вверх
Данкинг
Дата 30.4.2012, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Dannasha, создай новую тему и опиши там проблему. Не забудь указать СУБД, т.к лично я такой СУБД - PHP My Admin - не знаю.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Dannasha
Дата 30.4.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.4.2012

Репутация: нет
Всего: нет



спасибо, создала новую тему!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0800 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.