|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.09.2015, 10:43 | #1 |
Пользователь
Регистрация: 26.10.2013
Сообщений: 54
|
Обновление БД посл запроса добавления
Здравствуйте. В приложении есть форма авторизации. Кнопка вход работает отлично. Проблема возникает при регистрации. Если зарегистрировать пользователя и тут же нажать вход выводится сообщение о том что пользователь не найден. Я так понимаю, что бд нужно как-то обновить. Только как?
Код:
|
22.09.2015, 11:09 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А если так:
Код:
I'm learning to live...
|
22.09.2015, 11:57 | #3 |
Пользователь
Регистрация: 26.10.2013
Сообщений: 54
|
Все равно говорит "Пользователь не зарегистрирован"
Вернее пользователь не найден Последний раз редактировалось Stilet; 22.09.2015 в 12:34. |
22.09.2015, 12:35 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
После жмака добавления посмотри в базу, сохранилось ли значение добавленное?
I'm learning to live...
|
22.09.2015, 12:52 | #5 |
Пользователь
Регистрация: 26.10.2013
Сообщений: 54
|
Сохранилось
|
22.09.2015, 13:13 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
После ADOQuery1.Open; напиши:
Код:
I'm learning to live...
|
22.09.2015, 13:36 | #7 |
Пользователь
Регистрация: 26.10.2013
Сообщений: 54
|
Хм, тогда работает как надо. Выводит фамилию и открывается новая форма. Не пойму в чем проблема
|
22.09.2015, 13:42 | #8 |
Пользователь
Регистрация: 26.10.2013
Сообщений: 54
|
Вместо ADOQuery1.Close; написал ADOQuery1.SQL.Clear; и заработало как надо. Не можете пояснить почему так?
|
22.09.2015, 14:36 | #9 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,776
|
Потому что, млин, компоненты запросов нужно или создавать динамически, раз уж хочется писать в них текст вручную, или класть на форму по одному компоненту на (параметризированный) запрос, чтобы не менять в них текст и не удивляться, почему.
К чему это крохоборство? Предположим, 5 запросов у тебя. Так положи пять компонентов на форму, впиши в каждый свой запрос! Что, программа сильно раздуется или у процессора транзисторы за триггеры зайдут? Нет, всё будет работать -- тихо и без глюков. Компоненты для того и кладут на форму, чтобы их можно было сколько нужно положить. Ты же не платишь за них поштучно! |
22.09.2015, 14:41 | #10 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Код:
Для более полного понимания читаем про методы TStrings. Add | Text | Clear. можно здесь Чтобы в дальнейшем не было такого лучше применять правило для каждого действия СВОЙ ADO-объект. 90% вопросов "почему не работает", снимается(или вобще не возникает) при применении данного правила и хорошо бы еще эти запросы не писать в коде программы. Для этого есть ObjectInspector и параметры запроса(Parameters) А в коде только задание параметров и выполнение запроса, написанного раз и навсегда (на все время работы программы). P.S. на крайний случай НЕ ИСПОЛЬЗУЙ "частичное" формирование запроса ADOQuery1.SQL.Add('insert into Users (Nam, Family)'); а старайся использовать устанавливать запрос СРАЗУ целиком. ADOQuery1.SQL.Text := 'SELECT Family FROM Users WHERE Nam=rm';
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 22.09.2015 в 14:52. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
cUrl - обновление запроса | XeNon_9_9 | Общие вопросы C/C++ | 0 | 21.10.2014 23:05 |
передать параметр запроса на обновление из Excel в Access | Sergey112233 | Microsoft Office Excel | 12 | 01.02.2012 17:18 |
Обновление результатов запроса | varyat | Microsoft Office Access | 24 | 02.09.2011 19:06 |
Обновление запроса | Sergius X | SQL, базы данных | 2 | 01.06.2009 21:45 |
Обновление набора данных после добавления в таблицу записей "внешней" программой | dimmm | БД в Delphi | 5 | 21.04.2009 00:56 |