Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2017, 21:28   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию Проблема с сохранением данных в одной из колонки TDBGrid

Доброе время суток.
У меня есть TIBDataSet, TDataSource, и TDBGrid вкотором отоображается 2 поля все связано и работает.
При добавлении записи (через TDBGrid) и фиксации, данные сохраняются только в одном поле FIELD1, а в FIELD2 данные не сохраняются. Но зато при редактировании FIELD2, данные сохраняются. Проверил запрос «insert» в DataSet, ошибки вроде нет.
Добавил компонент TDBEdit, подключил к FIELD2, при добавлении записи через TDBEdit, все прекрасно запоминается. Получается это где-то ошибка в поле TDBGrid?

Заранее Спасибо.

P.S.
- вывел в TDBGrid все поля (всего их 7), при добавлении записи (через TDBGrid) и фиксации, уже заполнилось то поле которое не заполнялось, но не заполнилось последнее поле.
- Добавил на форму новые TIBDataSet, TDataSource, и TDBGrid, проделал туже операцию по добавлению записи, ситуация такая же...

Ситуация решается но коряво
- все поля/значения сохраняются в БД (при заполнении через DBGrid), в случае, когда после их заполнения, пердаешь фокус мыши на другой компонент (например Edit), а потом только делаешь "Post"

Последний раз редактировалось KBO; 27.09.2017 в 00:12.
KBO вне форума Ответить с цитированием
Старый 27.09.2017, 07:55   #2
silinka
 
Регистрация: 13.09.2017
Сообщений: 4
По умолчанию

Откройте Column.Editor (правым щелчком на DBGrid). Пройдите по всем колонкам, проверьте правильность FieldName.
Еще Refresh после всего
silinka вне форума Ответить с цитированием
Старый 27.09.2017, 14:01   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от silinka Посмотреть сообщение
Откройте Column.Editor ....
Проверил, с "FieldName" все правильно.
А "Refresh" это в DataSet?

P.S.
Не запоминается все время, то значение (в поле), которое вводил последним. В DataSet хоть 7 полей будет, все одно введенное поле последним не сохранится.
KBO вне форума Ответить с цитированием
Старый 27.09.2017, 14:23   #4
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Если в AutoEdit=true, и после заполнения данными строки, не нажимать DBNavigator, а просто переходить на другую строку в DBGrid, то все значения запоминается.
Но пользователь же после заполнения строки, нажимает галку на DBNavigator. Поэтому я в "BeforeAction" DBNavigator, передаю фокус какому-то другому компоненту и все работает, конечно это не очень красиво, но...
KBO вне форума Ответить с цитированием
Старый 27.09.2017, 16:17   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Фокус и не надо передавать, просто post принудительно вставить, наверно в BeforeAction, фиг знает чего это, не пользуюсь навигатором, типа такого:
Код:
  if IBDataSet.State=dsEdit then IBDataSet.Post;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с сохранением данных из datagridview в базу .mdf lax_light C# (си шарп) 0 20.01.2015 15:45
Разбиение данных из одной колонки на восемь zenner Microsoft Office Excel 7 27.06.2014 12:34
Проблема с сохранением данных. Simmularious Microsoft Office Excel 6 09.12.2010 09:28
Проблема с сохранением данных KLOP Общие вопросы Delphi 10 09.04.2009 11:17
Проблема с сохранением данных в другую таблицу HAMMAN Помощь студентам 1 26.05.2008 08:30