![]() |
|
![]() ![]() ![]() |
|
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Суть вопроса: есть таблица для ввода анкет. На форме - соответствующие DB-контролы: DbEdit, DbCheckBox и т.п. - в них вводятся ответы на вопросы. После того, как анкета заполнена - нужно, соответственно, забивать следующую анкету, т.е. следующую строчку таблицы. Вопрос: как программно создать новую строку таблицы, дабы с помощью DbEdit'ов и прочих контролов её заполнять?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
~FoX~ |
|
||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Эгм, DataSet переводим в Insert mode, например TTable.Append, или Insert
Апосля не забываем делать Post ![]() Но ИМХО, не очень правильный вариант работы с БД, ибо юзер сусчество человеческое и может во время набора может ошибица, или вообще посередине ему надоест и он нажмет на крестик, тебе придется отлавливать все исключения БД... Лучше все таки сначала заполнить поля, проверить на корректность, а уже затем помещать данные в таблицу... Это сообщение отредактировал(а) ~FoX~ - 13.10.2010, 16:27 |
||||
|
|||||
Данкинг |
|
||||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
В смысле - вместо DbEdit ставить Edit, а затем уже вручную делать .post в соответствующие поля? Добавлено через 1 минуту и 40 секунд
Кстати, не прокатит в данном случае. Ты так предлагаешь:
? -------------------- There's nothing left but silent epitaphs. |
||||||
|
|||||||
~FoX~ |
|
||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Ну как вариант.... Почему не проканает? Во первых почему BOF, Append добавляет новую строку в конец
Во вторых заненадобностью оно вообще... Гляди, ты создал новую пустую запись, если не использовать например транзакции, то эта запись попадает тебе в монопольный доступ.... Т.е. пока ты не сделаешь Post или не отменишь Append ты даже с нее перейти ни куда не сможешь. |
||||
|
|||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Склоняюсь всё же к этому варианту... Хоть и заколебёшься прописывать все поля, зато точно знаешь, что все значения будут сохранены. Потому что там ерунда получается. Честное слово, не знаю, как объяснить, это надо видеть. ![]() Ну да, EOF, не знаю, с чего я про BOF вспомнил.
Да, тут тоже верно. В общем, если ещё голоса за Edit вместо DbEdit будут, то остановлюсь на этом варианте. Это сообщение отредактировал(а) Данкинг - 13.10.2010, 18:25 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Если честно я как то отошел от программирования БД через методы контролов и перешло на dbGo, ADO и ежесними...
SQL все таки работает по веселее чем Post, да и большенство мороки по отловли ексепшенов ложица не на твои плечи, а на провайдер ![]() А дальше SELECT, INSERT INTO, DELETE и т.д. и все прелести SQL у тебя под рукой... ![]() ![]() ![]()
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
ОК, будем смотреть в направлении запросов.
![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Frees |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
не надо так запросы собирать, кто знает что там в Edit1 напишут, лучше так
ИМХО я бы не стал отказываться от DB контролов. -------------------- Кольцов Виктор Владимирович |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |