0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
1

Вопрос по Query

19.08.2010, 19:14. Показов 3289. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Недавно знаком с БД... работаю с парадокс, возникло несколько вопросов по поводу поиска информации. Читал, что это делается с помощью SQL запросов и Параметров... попробовал получается, но только по 1 критерию идет поиск. А как сделать чтобы поиск был осуществлен по нескольким критериям. Например ищу авиабилет: 1. Откуда вылет, 2. Куда, 3. Дата вылета и т.д... надеюсь понятно выразился ))
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2010, 19:14
Ответы с готовыми решениями:

Shodanhq - ошибка Error: Invalid search query, please check the query syntax
Собственно, такая проблема. Я думаю, что многие знакомы с такой поисковой системой, как...

Не работает $db->query(); // Call to a member function Query() on a non-object in
Только приступил к ООП, поэтому очевидно наличие простых ошибок. Вот код, который при запуске...

User Warning: Query Error:In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated colu
Добрый вечер! Получаю такую ошибку: User Warning: Query Error:In aggregated query without GROUP...

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in
Здравствуйте! Подскажите как решить проблему с выдаваемыми ошибками: Вот сам файл install.php...

29
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 19:15 2
как пробовали, выкладывайте, какой запрос нужно составить
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 19:17  [ТС] 3
Цитата Сообщение от iama Посмотреть сообщение
как пробовали, выкладывайте, какой запрос нужно составить
SQL
1
2
3
SELECT Откуда, Куда, Туда, Обратно
FROM "tickets.db" Туда
WHERE   (Туда = :Name_param)
он ищет по дате отправления
а вот код на кнопку
Delphi
1
2
3
4
5
Query2.Close;
  if not Query2.Prepared then
    Query2.Prepare;
  Query2.ParamByName('Name_param').Value:=DateTimePicker3.Date;
  Query2.Open;
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 19:25 4
ну так в чем проблемма, обьединяйте параметры выбора через AND, и будет вам счастье.
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 19:28  [ТС] 5
ну так в чем проблемма, обьединяйте параметры выбора через AND, и будет вам счастье.
а где новые параметры создавать? в свойствах Query вроде только один создается...
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 19:35 6
я не понимаю, вообще зачем их делать. просто динамически делайте запрос, например:
Delphi
1
2
Query1.SQL.Text := 'SELECT Откуда, Куда, Туда, Обратно FROM "tickets.db" Туда WHERE (Туда = ' + DateToStr(DateTimePicker3.Date) + ')';
Query1.Open;
1
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 19:49  [ТС] 7
ну а если мне нужен поиск по нескольким значениям? вот в этом не могу разобраться((
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 20:03 8
Delphi
1
2
3
4
Query1.SQL.Text := 'SELECT Откуда, Куда, Туда, Обратно FROM "tickets.db" Туда \
WHERE (Туда = ' + DateToStr(DateTimePicker3.Date) + ' and Обратно = ' + {тут переменная, в 
которой хранится значение для сортировки} + ')';
Query1.Open;
1
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 20:09  [ТС] 9
Цитата Сообщение от iama Посмотреть сообщение
Delphi
1
2
3
4
Query1.SQL.Text := 'SELECT Откуда, Куда, Туда, Обратно FROM "tickets.db" Туда \
WHERE (Туда = ' + DateToStr(DateTimePicker3.Date) + ' and Обратно = ' + {тут переменная, в 
которой хранится значение для сортировки} + ')';
Query1.Open;
Спасибо, но он что-то ругается... Invalid use of keyword. Token: .2010 Line number: 1.
на 2010 год ругается что-ли? ))
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 20:11 10
meta, а что именно вы пытаетесь скомпилировать? в моем посте нужно комментарий заменить на имя переменной
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 20:12  [ТС] 11
iama,
Delphi
1
2
3
Query2.Close;
Query2.SQL.Text:='SELECT Откуда, Куда, Туда, Обратно FROM "tickets.db" Туда WHERE (Туда = ' + DateToStr(DateTimePicker3.Date) + ' and Обратно = ' + DateToStr(DateTimePicker4.Date) + ')';
Query2.Open;
вот
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.08.2010, 20:17 12
ничего не вижу... а предыдущий запрос нормально работает (тот, который я писал для одного параметра) ?
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 20:35  [ТС] 13
Такая же ошибка...

Добавлено через 1 минуту
может быть у меня запрос не правильный ?

Добавлено через 7 минут
я кажется понял он ищет не по дате а по значению Туда... но так как там DateTimePicker он ругается

Добавлено через 1 минуту
потому что я такой же код использовал для поиска в другой таблице по фамилии и он ругался, но когда я вводил в Эдит "фамилия" он выводил мне все фамилии
0
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
19.08.2010, 23:09 14
Meta, а если так:

SQL
1
2
3
Query2.Close;
Query2.SQL.Text:='SELECT Откуда, Куда, Туда, Обратно FROM "tickets.db" WHERE (Туда = ' + DateToStr(DateTimePicker3.Date) + ' and Обратно = ' + DateToStr(DateTimePicker4.Date) + ' ) ';
Query2.Open;
1
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 23:14  [ТС] 15
reiteriX, а чем он отличается от предыдущего? и такая же ошибка...
0
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
19.08.2010, 23:22 16
Отсутствием лишнего "Туда" перед выборкой. Скрин структуры таблицы можно? Типы поглядеть

Добавлено через 34 секунды
ну и скрин ошибки заодно)

Добавлено через 2 минуты
Ты уверен что дата у тебя хранится в формате dd.mm.yyyy ?
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 23:22  [ТС] 17
Вопрос по Query

надеюсь я то заскринил))
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 23:24  [ТС] 18
нет не уверен)) как проверить?

скрин ошибки
Вопрос по Query
0
0 / 0 / 0
Регистрация: 06.10.2009
Сообщений: 25
19.08.2010, 23:26  [ТС] 19
мб .2010 зарезервировано?
0
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
19.08.2010, 23:27 20
1) отладкой попробуй проверить значение из DateTimePicker'ов.
Если не умеешь отладкой то:
добавь на форму кнопку и эдит, на нажатие вот этот код например:

Edit666.Text:=DateToStr(DateTimePicker666.Date);


Таким образом ты проверишь себя и узнаешь какую же дату и в каком формате он "получает".
1
19.08.2010, 23:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2010, 23:27
Помогаю со студенческими работами здесь

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves)
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама...

query
создал отчёт с помощью qreport, связал компоненты с запросом. В отчёт не выдаётся информация, если...

get => $ => query
есть вывод из базы <?php $server="localhost"; $user="root"; $password=""; ...

query
<?php session_start(); $user = $_SESSION; if ($user) { //user is logged in


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru