Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизКак достать из запроса значение Найти похожие ветки
← →
VaZ (2002-09-25 06:41) [0]Народ есть такой запросик, считающий кол-во одинаковых полей
SELECT COUNT( Ser_pasp ) TMP
FROM "Pocupatel.DB" Pocupatel для контроля проверяет кол-во совпадений
WHERE Nom_pasp = "1"
Вопрос: Как узнать значение поля TMP - нужно для контроля ввода, типа если >0 то выводится мессага "такое уже есть"?
Или как по Вашему можно еще построить контроль ввода для отслеживания уникальных значений?
← →
passm (2002-09-25 09:28) [1]Уникальный индекс сойдет?
← →
Anatoly Podgoretsky (2002-09-25 09:40) [2]Ну например FieldByName и еще множество способов, а может справку посмотреть по компоненту, который используется для запроса или это сложно?
← →
VaZ (2002-09-25 09:48) [3]>Anatoly Podgoretsky
да нет не сложно справку то посмотреть, просто не доходит пока до меня. FieldByName что ли с Query использовать можно???
Я просто думал есть простой ответ... Поищу конечно...
> passm
Уникальный индекс то по нему стоит, но таблица подчиненная и связь идет по другому полю, соответственно и индекс у таблицы другой.
← →
Anatoly Podgoretsky (2002-09-25 09:52) [4]А этот разве сложный?
← →
VaZ (2002-09-25 09:55) [5]>Anatoly Podgoretsky
Чувствую не так сделал
res:= DM_F.Query1.ParamByName("TMP").AsString;
пишет параметр TMP не найден
как его туда загнать?
← →
passm (2002-09-25 09:57) [6]VaZ © (25.09.02 09:48)> Раз на то пошло...
Query - наследник DataSet => доступно FieldByName и многое др. См. <Anatoly Podgoretsky © (25.09.02 09:40)>
Попробуй создание полей в режиме разработки. Два клика на Query и окно Fields Editor в твоем распоряжении.
И обращаться к полю быстрее и удобнее (ИМХО) MyQueryTEMP.Value
← →
VaZ (2002-09-25 09:59) [7]passm ©
счас попробую
← →
VaZ (2002-09-25 10:02) [8]passm ©
одна проблема, Fields Editor конечно хорошо, но дело в том что запрос постоянно разный (меняются поля для контроля и значения) а Query-1. Не думаю что получится жестко поля задать.
Как бы это runtime делать???
← →
Anatoly Podgoretsky (2002-09-25 10:02) [9]Не занаю зачем тебе параметры, тебе же поле надо - FieldByName
← →
passm (2002-09-25 10:06) [10]VaZ © (25.09.02 10:02)> "запрос постоянно разный" :)
FieldByName
← →
VaZ (2002-09-25 10:11) [11]пишет поле не найдено
я через SQL biulder строил запрос
и поля TMP как такового в таблице нет, в selection я его задал как синоним, если я правильно понимаю, так сказать output name.
Есть еще идеи? Может не хватает информации - скажите что нужно для полной ясности, а то я по незнанию может чего не дал...
← →
passm (2002-09-25 10:15) [12]VaZ © (25.09.02 10:11)> Проверь текст запроса и посмотри список (имена) возвращаемых полей.
← →
Anatoly Podgoretsky (2002-09-25 10:20) [13]Наверно у тебя ошибка в программе
← →
VaZ (2002-09-25 10:25) [14]так он TMP и возвращает наверное(текст запроса выше)
Если я правильно понял - результат запроса- набор полей...
Я еще молод, но стараюсь учиться
← →
passm (2002-09-25 10:30) [15]Хм. А Query открыт?
Склоняюсь к мысли <Anatoly Podgoretsky © (25.09.02 10:20)>
← →
Anatoly Podgoretsky (2002-09-25 10:31) [16]VaZ © (25.09.02 10:25)
Да утверждение верное, а вот что ты делаешь неверно отсюда не видать
← →
VaZ (2002-09-25 10:38) [17]>Anatoly Podgoretsky
Хм, я кстати Query не открыл -счас попробую
у меня он просто ExecSql
>passm
спасибо - проверю
← →
VaZ (2002-09-25 10:46) [18]Всем большой THANKS за помощь
DM_F.Query1.Active:=true;
res1:= DM_F.Query1.FieldByName("TMP").Value;
Заработало - УРРРРА!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c