Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2013, 08:42   #1
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию Правильный ли SQL запрос?

Возвращает пустое значение:
Код:
SimpleDataSet1.Close;
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE name LIKE :fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='Fulham';
SimpleDataSet1.Open;
Правильный ли здесь SQL-запрос?
helpkz вне форума Ответить с цитированием
Старый 29.03.2013, 09:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

В теории правильный. На практике бесполезный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.03.2013, 12:28   #3
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Если делаю так:
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs';
то работает. В чем ошибка?
helpkz вне форума Ответить с цитированием
Старый 29.03.2013, 12:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Смотря что ты хочешь. По факту запрос типа "поле LIKE строка" эквивалентен запросу "Поле=Строка"
Другое дело что тебе нужно использовать знаки % и _ чтоб дать понять запросу, что нужно искать не по всему значению а по содержимому значения поля.
http://msdn.microsoft.com/ru-ru/library/ms179859.aspx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.03.2013, 13:30   #5
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Попробовал поставить %, все равно не помогает. Даже NOT LIKE не помогает. Скорее всего что то с компонентами
helpkz вне форума Ответить с цитированием
Старый 29.03.2013, 13:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Скорее всего что то с компонентами
Ну да. Однозначно )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.03.2013, 14:33   #7
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Мне кажется не работает конструкция WHERE
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE koeff =:fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='1';
SimpleDataSet1.Open;
т.е. выдает пустую строку, а должно быть 2 значения. wtf?
helpkz вне форума Ответить с цитированием
Старый 29.03.2013, 15:09   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

так, шутки ради.
проверьте четыре таких кода:

1-й
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE koeff =:fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:=1;
SimpleDataSet1.Open;

2-й
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE TRIM(koeff) =:fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='1';
SimpleDataSet1.Open;
3-й
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE koeff =:fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='%1%';
SimpleDataSet1.Open;
4-й
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE koeff =:fnm';
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='*1*';
SimpleDataSet1.Open;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.03.2013, 15:28   #9
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Все варианты не выдавали никакой ошибки, но возвращали пустую запись. Как и ранее. 2 дня не могу сделать выборку. Что за ...
Может это Delphi 10 Lite такой или технология DBExpress?
[IMG][/IMG]
helpkz вне форума Ответить с цитированием
Старый 29.03.2013, 15:46   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Все что угодно: Пустая БД. Не подключены компоненты друг к другу. Значения в полях не соответствуют критерию поиска...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно составить правильный запрос scroyler Работа с сетью в Delphi 1 19.02.2013 15:18
Запрос на выборку. PHP. Правильный синтаксис Mr_freeman PHP 7 03.12.2011 13:32
не могу сделать правильный пост запрос на winsock cable Работа с сетью в Delphi 0 10.07.2010 18:01
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Подскажите правильный запрос c группировкой frostyland Microsoft Office Access 2 03.09.2008 10:22