Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBEdit: в какой момент сохраняется информация? 
V
    Опции темы
Данкинг
Дата 12.10.2010, 21:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



На форме лежит DBEdit (ну и тому подобные DB-компоненты). Подключение к .mdb через ADO. Я вношу в DBEdit текст. В какой момент этот текст сохраняется в таблице, т.е. при каком именно её событии?

Это сообщение отредактировал(а) Данкинг - 12.10.2010, 21:40


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Post будет при выходе из контрола. причем, если на момент входа в контрол датасет уже был в едит моде, то поста не будет.

зы давно дело было когда я в этом разбирлся может что и напутал.


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 12.10.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Frees @  12.10.2010,  22:47 Найти цитируемый пост)
причем, если на момент входа в контрол датасет уже был в едит моде, то поста не будет.

Вот этого не понял: а зачем в принципе принудительно в данном случае делать .edit ?

Это сообщение отредактировал(а) Данкинг - 12.10.2010, 21:50


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



у меня это было так: есть форма - диалог редактирует 2 поля в дата сет, для редактирования или вставки я делал дата сету инсерт или едит и передавал форме(с TDBEdit `ами) а потом делал либо пост если нажали Ок либо Cancel если нажали Отмена.
ЗЫ набил шишек с таким подходом, больше так не делаю)

Это сообщение отредактировал(а) Frees - 12.10.2010, 21:56


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 12.10.2010, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



У меня, судя по всему, отмены не будет: речь идёт о вводе анкет. Забили данные для человека - перешли на забивку данных для следующего.


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



При переходе к следующей анкете
Код


if DtatSet.State in [dsEdit, dsInsert] then
 DtatSet.post;

DtatSet.Append;


даже если на форме будут DBEdit они сами лишних постов делать не должны

зы метод научного тыка самый научный метод)


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 12.10.2010, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Я вот пока не могу придумать, как именно переходить к новой анкете, т.е. добавлять новую строку? Т.е. в таблице X строк, все столбцы заполнены. Для ввода новой анкеты следует, соответственно, создать новую строку, но как?


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



Я думаю так:
Чтобы показать форму с полями для ввода новой анкеты должно произойти какое-то событие, т.е. пользователь должен изъявить желание ввести новую анкету. Как он это сделает зависит от тебя.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Frees
Дата 13.10.2010, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(Данкинг @  13.10.2010,  01:21 Найти цитируемый пост)
Я вот пока не могу придумать, как именно переходить к новой анкете

в смысле как это задизайнить(сделать удобным)? или реализовать?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 13.10.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



В общем, по этой теме у меня последний вопрос остался:
Вот этот код
Цитата(Frees @  12.10.2010,  23:10 Найти цитируемый пост)
if DtatSet.State in [dsEdit, dsInsert] then
 DtatSet.post;
DtatSet.Append;

Я могу повесить на закрытие формы? Чтобы, значит, введённые данные точно не пропали?
Цитата(Frees @  13.10.2010,  09:16 Найти цитируемый пост)
в смысле как это задизайнить(сделать удобным)? или реализовать? 

Думаю, в новой теме это обсудим. smile 


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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(Данкинг @  13.10.2010,  17:36 Найти цитируемый пост)
Я могу повесить на закрытие формы?

тогда DtatSet.Append; лишний


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Данкинг
Дата 13.10.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Frees @  13.10.2010,  15:37 Найти цитируемый пост)
тогда DtatSet.Append; лишний 

Да, логично, я этого не заметил. В общем, закрываем тему, только бы знать, за что мой первый пост минусанули. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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