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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 22:46   #1
Hypermaster
Пользователь
 
Аватар для Hypermaster
 
Регистрация: 19.04.2008
Сообщений: 13
По умолчанию Добавление записей в DBGrid без сохранения

Простите за формулировку!
Есть две проблемы, 1) добавляю запись в DbGrid:
Код:
         DBGrid.DataSource.DataSet.Append;
                    DBGrid.DataSource.DataSet.FieldByName('Код').AsInteger:=t;
                    DBGrid.DataSource.DataSet.FieldByName('Урок').AsInteger:=z;
                    DBGrid.DataSource.DataSet.FieldByName('ДеньНедели').AsDateTime:=CurrentDay;
                    DBGrid.DataSource.DataSet.FieldByName('Класс').AsString:=DBLookupCBClasses.Text;
                    DBGrid.DataSource.DataSet.FieldByName('Предмет').AsString:=lbPredmets.Items[y-1];
                    DBGrid.DataSource.DataSet.FieldByName('Преподаватель').AsString:=Teacher.Name;
                    DBGrid.DataSource.DataSet.FieldByName('Кабинет').AsString:=FindFreeCabinet(Teacher.Kabinets,CurrentDay,1);
Ругается на DBGrid.DataSource.DataSet.FieldByNa me('Код').AsInteger:=t;
Закоментил, типа он сам теперь его присваивает, только записи не отражаются в гриде даже после перезапуска проги, хотя ч/з Аксес смотрю записи есть
2) проблема, как правильно выставить опции(или написать код), чтобы добавленные строчки не в базу добавлялись, а временно на контроле, и только после нажатия определеной кнопки сох-сь в базу?
Hypermaster вне форума Ответить с цитированием
Старый 22.04.2010, 23:27   #2
Hypermaster
Пользователь
 
Аватар для Hypermaster
 
Регистрация: 19.04.2008
Сообщений: 13
По умолчанию

В общем, чтобы на форме показалось, и только при нажатии кнопки "Сохранить" сохранилось!
Hypermaster вне форума Ответить с цитированием
Старый 23.04.2010, 06:14   #3
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

не делая Post и сохранения в DataSet не будет
сохранения будут только подтверждения транзакции..
dron-s вне форума Ответить с цитированием
Старый 23.04.2010, 08:46   #4
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от Hypermaster Посмотреть сообщение
чтобы добавленные строчки не в базу добавлялись, а временно на контроле
DBGrid не хранит данные, а всего лишь отображает их. Если нет новых добавленных строчек в таблице -> значит они не отобразятся в DbGrid'е.
Заблокировать Post не сложно. Например, на событие BeforePost DataSet'a
навесить такой код:
Код:
  ADODataSet.CancelUpdates;
  Abort;
Таким образом, будут блокироваться любые попытки сохранения измененных данных. Но дело в том, что при вставке новой записи в DBGrid ее нужно сохранить, иначе она потом просто исчезнет, когда ты перейдешь на новую строчку в DBGrid'e.
edgy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выход из формы без сохранения изменения Swatch Microsoft Office Access 5 18.12.2018 18:33
Закрытие всех документов без сохранения Окоча Юра Microsoft Office Word 7 30.11.2010 18:48
Добавление FieldDefs в ClientDataSet без потери записей shock-in Общие вопросы Delphi 1 04.12.2009 01:18
сохранения данных в стрингриде после редактирования его (добавление) ansysadmin БД в Delphi 0 23.11.2009 17:37
Добавление записей в DBGrid с помощью Query Droid БД в Delphi 5 21.06.2009 03:02