|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.01.2013, 15:01 | #1 |
Новичок
Джуниор
Регистрация: 15.01.2013
Сообщений: 5
|
Comdobox и запросы
Приветствую всех.
Подскажите, как совместить combox и запросы. Вот мой вариант: Код:
Данные считываю из edit, это значение присваивается параметру p0. В зависимости от выбранного combobox'а в ADOQuery передаётся нужный запрос с нашим параметром. Как сделать тоже самое, но без параметров? Последний раз редактировалось Stilet; 15.01.2013 в 16:53. |
15.01.2013, 15:09 | #2 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
с параметром самое правильное решение, зачем ломать правильность?
единственное замечание это if Combobox1.itemindex=0 then s:='SELECT * FROM tabl2 WHERE Plane = :Param'; if Combobox1.itemindex=1 then s:='SELECT * FROM tabl1 WHERE Data = :Param'; if Combobox1.itemindex=2 then s:='SELECT * FROM tabl1 WHERE Kills <= :Param'; if Combobox1.itemindex=3 then s:='SELECT * FROM tabl3 WHERE Country = :Param'; переделать в массив Код:
Не стесняемся, плюсуем!
|
15.01.2013, 17:09 | #3 |
Новичок
Джуниор
Регистрация: 15.01.2013
Сообщений: 5
|
Спасибо.
Делаю курсовую. Преподаватель попросил найти решение без параметров. |
15.01.2013, 18:23 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
При формировании текста запрос с подстановкой значения прямо в текст запроса сразу выползут баги, связанные с различным представлением данных (форматы даты и времени, десятичные разделители и т.п.). Кроме того, нужно обязательно знать тип поля, которое сравнивается в запросе с подставленной константой... а выглядеть это может примерно так: Код:
|
|
16.01.2013, 03:31 | #5 |
Новичок
Джуниор
Регистрация: 15.01.2013
Сообщений: 5
|
Спасибо большое Я делал почти тоже самое, но не использовал QuotedStr поэтому запросы не выполнялись.
Типа поля data - дата/время. |
16.01.2013, 08:36 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Пожалуйста.
Цитата:
А ещё хуже, когда (в силу настроек русской локали) у Вас на компьютере всё работает. Запускаете программу на другом компьютере и получаете либо ошибку, либо (вообще жуть! ) ошибок нет, но дата '11.05.2012' будет записана в БД как 5 ноября 2012 года. Попробуйте, например, сменить в настройках Windows формат представления даты и попытайтесь поработать с датой.. Хорошо, конечно, что у Вас только поиск. Но и то, что не найдётся нужная информация - в этом ничего хорошего нет! Короче, вместо нормального корректного способа Вы пытаетесь сделать криво и ненадёжно. Привет преподавателю! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запросы | Erstasya | SQL, базы данных | 9 | 11.12.2019 18:40 |
Запросы к бд. | Predator199 | PHP | 10 | 26.08.2012 17:04 |
Запросы | Jrcfyf | БД в Delphi | 0 | 20.04.2012 10:37 |
Запросы к БД | limon | PHP | 7 | 28.11.2008 20:29 |
Запросы к БД | xDjarx | БД в Delphi | 6 | 14.05.2008 17:04 |