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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2013, 16:39   #1
ТипичныйСтудент
Форумчанин
 
Аватар для ТипичныйСтудент
 
Регистрация: 09.04.2013
Сообщений: 110
По умолчанию Delphi + SQL (подставить переменную в запрос)

помогите оформить select, чтобы в условии отбора "хватал" переменную, а не константу:
Код:
var 
t:integer;
.....................
что писать тут я знаю =)
.....................
t:=strtoint(Edit1.Text);
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add ('SELECT adrID as "id", tel as "телефон", fam as "фамилия", im as "имя", ulica as "улица", dom as "дом", kv as "квартира" FROM spr, adr where spr.adrID=adr.id and tel="%"t"%"');

ADOQuery1.Active :=True;
понимаю, что tel="%"t"%" не есть правильно, но как?
Есть задача - реши ее!

Последний раз редактировалось ТипичныйСтудент; 01.05.2013 в 11:04.
ТипичныйСтудент вне форума Ответить с цитированием
Старый 30.04.2013, 17:07   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

В запросе простая строка и её можно сцеплять простым плюсом
Код:
...........adr.id and fam="%"' + t + '"%"');
eoln вне форума Ответить с цитированием
Старый 30.04.2013, 17:33   #3
ТипичныйСтудент
Форумчанин
 
Аватар для ТипичныйСтудент
 
Регистрация: 09.04.2013
Сообщений: 110
По умолчанию

не работает=/
Есть задача - реши ее!
ТипичныйСтудент вне форума Ответить с цитированием
Старый 30.04.2013, 23:44   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А так?
Код:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add ('SELECT adrID as "id", tel as "телефон", fam as "фамилия", im as "имя", ulica as "улица", dom as "дом", kv as "квартира" '+
' FROM spr, adr where spr.adrID=adr.id and fam=''%'+Edit1.Text+'%''');
ADOQuery1.Open;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.05.2013, 10:51   #5
ТипичныйСтудент
Форумчанин
 
Аватар для ТипичныйСтудент
 
Регистрация: 09.04.2013
Сообщений: 110
По умолчанию

НЕ РАБОТАЕТ!
1) если оформлять так, то получается поиск по ФАМИЛИИ и ошибка "недопустимое имя столбца"
2) а я всё таки спрашивала, как сделать поиск по ТЕЛЕФОНУ, т.к. телефон тип integer, а фамилия тип varchar
Есть задача - реши ее!
ТипичныйСтудент вне форума Ответить с цитированием
Старый 01.05.2013, 11:26   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
with ADOQuery1 do begin
 SQL.Text:='SELECT adrID as "id", tel as "телефон", fam as "фамилия", im as "имя", ulica as "улица", dom as "дом", kv as "квартира" '+
' FROM spr, adr where spr.adrID=adr.id and fam like :p1');
Parameters.ParamByName('p1').Value:='%'+Edit1.Text+'%';
Open;
end;
Цитата:
НЕ РАБОТАЕТ!
Нестрогие сравнения поддерживает оператор LIKE а не =
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.05.2013, 11:34   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Срочно спасать пациента

Stilet сегодня вопрос переделали, а вы все ему старый наровите впихнуть
eval вне форума Ответить с цитированием
Старый 01.05.2013, 11:39   #8
ТипичныйСтудент
Форумчанин
 
Аватар для ТипичныйСтудент
 
Регистрация: 09.04.2013
Сообщений: 110
По умолчанию

а вариант без параметров существует? и потом, мне нужен поиск по ТЕЛЕФОНУ - integer
Stilet, это была опечатка ^^
Код:
tel like "%' + t + '%"
не работает
Есть задача - реши ее!

Последний раз редактировалось ТипичныйСтудент; 01.05.2013 в 11:45.
ТипичныйСтудент вне форума Ответить с цитированием
Старый 01.05.2013, 11:43   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
а вариант без параметров существует?
лучше не знать, спать будете лучше. Уж поверьте!
eval вне форума Ответить с цитированием
Старый 01.05.2013, 11:52   #10
ТипичныйСтудент
Форумчанин
 
Аватар для ТипичныйСтудент
 
Регистрация: 09.04.2013
Сообщений: 110
По умолчанию

хм, неужели все так запущенно? я наивно полагала, что исправить пару "" и все заработает....а тут параметры..который кстати тоже не работает :D
Есть задача - реши ее!
ТипичныйСтудент вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подставить переменную в код jquery H1ghlander JavaScript, Ajax 3 15.01.2012 11:45
Как сохранит результат запроса в переменную (Delphi+SQL); Balanar Помощь студентам 1 29.06.2011 22:51
Как записать в переменную delphi результат sql запроса? mar4elo БД в Delphi 1 03.12.2009 16:59
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Как подставить или передать переменную (Quest3D) AnnaSmertina JavaScript, Ajax 2 24.05.2009 18:11