| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Программно создать новую строку в .mdb |
| Автор: Данкинг 13.10.2010, 14:44 |
| Суть вопроса: есть таблица для ввода анкет. На форме - соответствующие DB-контролы: DbEdit, DbCheckBox и т.п. - в них вводятся ответы на вопросы. После того, как анкета заполнена - нужно, соответственно, забивать следующую анкету, т.е. следующую строчку таблицы. Вопрос: как программно создать новую строку таблицы, дабы с помощью DbEdit'ов и прочих контролов её заполнять? |
| Автор: ~FoX~ 13.10.2010, 16:23 | ||||
Эгм, DataSet переводим в Insert mode, например TTable.Append, или Insert
Апосля не забываем делать Post Но ИМХО, не очень правильный вариант работы с БД, ибо юзер сусчество человеческое и может во время набора может ошибица, или вообще посередине ему надоест и он нажмет на крестик, тебе придется отлавливать все исключения БД... Лучше все таки сначала заполнить поля, проверить на корректность, а уже затем помещать данные в таблицу... |
| Автор: ~FoX~ 13.10.2010, 18:15 | ||||
Ну как вариант.... Почему не проканает? Во первых почему BOF, Append добавляет новую строку в конец
Во вторых заненадобностью оно вообще... Гляди, ты создал новую пустую запись, если не использовать например транзакции, то эта запись попадает тебе в монопольный доступ.... Т.е. пока ты не сделаешь Post или не отменишь Append ты даже с нее перейти ни куда не сможешь. |
| Автор: Данкинг 13.10.2010, 18:25 | ||
Склоняюсь всё же к этому варианту... Хоть и заколебёшься прописывать все поля, зато точно знаешь, что все значения будут сохранены. Потому что там ерунда получается. Честное слово, не знаю, как объяснить, это надо видеть. Ну да, EOF, не знаю, с чего я про BOF вспомнил.
Да, тут тоже верно. В общем, если ещё голоса за Edit вместо DbEdit будут, то остановлюсь на этом варианте. |
| Автор: ~FoX~ 13.10.2010, 18:44 | ||
| Если честно я как то отошел от программирования БД через методы контролов и перешло на dbGo, ADO и ежесними... SQL все таки работает по веселее чем Post, да и большенство мороки по отловли ексепшенов ложица не на твои плечи, а на провайдер А дальше SELECT, INSERT INTO, DELETE и т.д. и все прелести SQL у тебя под рукой...
|
| Автор: Данкинг 13.10.2010, 19:15 |
| ОК, будем смотреть в направлении запросов. |
| Автор: Frees 14.10.2010, 07:29 | ||||
не надо так запросы собирать, кто знает что там в Edit1 напишут, лучше так
ИМХО я бы не стал отказываться от DB контролов. |