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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2011, 00:12   #1
us4us
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 33
По умолчанию Выборка по первым двум символам

Подскажите пожалуйста как можно выбрать записи из таблицы по первым двум символам ?

например ... WHERE kod = '+kod+'';

переменная код уже имеет 2 символа,а вот как из полей выбрать?
Заранее благодарен.
us4us вне форума Ответить с цитированием
Старый 07.04.2011, 07:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
WHERE kod = '+kod+'%';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.04.2011, 01:57   #3
us4us
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
WHERE kod = '+kod+'%';
Missing operand.

'SELECT * FROM table WHERE something = '+kod+'%';

Нормально выборка работает только так
Код:
ADOQuery1.SQL.Text:='SELECT * FROM table WHERE something = '''+Edit3.text+'''''';
вот только в Edit3 у меня код большой.. я его поместил в переменную kod.. но ничего не вышло... ошибка "Missing operand".
us4us вне форума Ответить с цитированием
Старый 11.04.2011, 02:16   #4
Asinkrit
Пользователь
 
Аватар для Asinkrit
 
Регистрация: 02.04.2011
Сообщений: 48
По умолчанию

Код:
ADOQuery1.SQL.Text:='SELECT * FROM table WHERE something = '+QuatedStr(Edit3.text+'%');
Asinkrit вне форума Ответить с цитированием
Старый 11.04.2011, 02:24   #5
us4us
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Asinkrit Посмотреть сообщение
Код:
ADOQuery1.SQL.Text:='SELECT * FROM table WHERE something = '+QuatedStr(Edit3.text+'%');
Спасибо,но выборка не происходит.. может с полями что-то не так?

СУБД VFP,тип поля varchar
us4us вне форума Ответить с цитированием
Старый 11.04.2011, 02:41   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от us4us Посмотреть сообщение
Подскажите пожалуйста как можно выбрать записи из таблицы по первым двум символам ?

например ... WHERE kod = '+kod+'';

переменная код уже имеет 2 символа,а вот как из полей выбрать?
Заранее благодарен.
Код:
where kod like 'ab%'
или
Код:
where kod like 'ab*'
a,b - первые два символа
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 11.04.2011 в 02:45.
Sparkman вне форума Ответить с цитированием
Старый 11.04.2011, 02:48   #7
us4us
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
Код:
where kod like 'ab%'
или
Код:
where kod like 'ab*'
a,b - первые два символа
первые два символа это и есть переменная код..
us4us вне форума Ответить с цитированием
Старый 11.04.2011, 02:53   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от us4us Посмотреть сообщение
первые два символа это и есть переменная код..
Код:
where <Колонка_таблицы> like <Переменная_код>+'%'
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 11.04.2011, 03:02   #9
us4us
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 33
По умолчанию

Command contains unrecognized phrase/keyword. =\
us4us вне форума Ответить с цитированием
Старый 11.04.2011, 09:46   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну да, я ошибся...Sparkman прав, нужно вместо знака равно использовать оператор LIKE

вот откорректированный код от Asinkrit
Код:
ADOQuery1.SQL.Text:='SELECT * FROM table WHERE something Like '+QuatedStr(Edit3.text+'%');

надеюсь, что у Вас есть таблица с именем table (Кстати, если это так - это УЖАСНО!!
НИ В КОЕМ СЛУЧАЕ НЕЛЬЗЯ называть таблицы и поля таблицы ключевыми словами. Даже если СУБД это и позволяет!)

и у Вас в этой таблице с именем table есть поле с именем something...

иначе, разумеется, запрос работать не будет!

Последний раз редактировалось Serge_Bliznykov; 11.04.2011 в 09:49.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выборка по первым словам в строках johny_03 Microsoft Office Excel 4 18.03.2011 11:24
Поиск по первым двум цифрам числа IPI Паскаль, Turbo Pascal, PascalABC.NET 1 23.01.2011 15:33
Сортировка строк по двум символам конца строки lifeton Общие вопросы Delphi 2 10.06.2010 22:33
Выборка значений по двум условиям Stefav Microsoft Office Excel 6 16.03.2010 13:34
Поиск значения по двум символам кода maneta Microsoft Office Excel 3 17.01.2010 22:14