Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Вниз

почему не работает запрос вида в FB ?   Найти похожие ветки 

 
Yurij-7   (2007-07-09 21:13) [0]

Вечер добрый, подскажите пжл, почему не работает запрос вида в FB ?
IBQuery1.Close;
IBQuery1.SQL.Clear;
iBQuery1.SQL.Text := "select * from spr_manager where ldap_manager like :manager";
IBQuery1.ParamByName(":manager").AsString:= Edit1.Text;
IBQuery1.Open;
status_user := ibQuery1.FieldByName("status_manager").asstring;
IBQuery1.Close;
panel1.Caption := status_user;

иными словами параметр просто не передается ((( причем на дбф файлах парметры рулят отлично


 
Johnmen ©   (2007-07-09 21:36) [1]

...:= """"+Edit1.Text+"""";


 
Desdechado ©   (2007-07-09 21:47) [2]

При обращении к параметру не нужно указывать двоеточие.

Johnmen ©   (09.07.07 21:36) [1]
Не мудри...


 
Yurij-7   (2007-07-09 21:51) [3]

передаю вместо эдита с переменной, на "" (кавычки ) вообще ругается, типа некоректный символ, а на апострофы не реагирует
IBQuery1.ParamByName("manager").AsString:= "+u+" ;

делаю вот так с дбф файлом
Query1.ParamByName("typ_client").AsString:= typ_client;

работает отлично

не могу понять в чем причина, може в FB както по другому параметрические запросы строятся ?
я просто с жарптицей только начинаю работать ....


 
Yurij-7   (2007-07-09 21:52) [4]

в этой сторке правильно так
IBQuery1.ParamByName("manager").AsString:= Edit1.Text;


 
Yurij-7   (2007-07-10 10:38) [5]

вчера разбирался с этим параметрическим запросом но он так и не работает, получается значение надо передавать только подготовкой строки SQL а потом пихать в кверик ?


 
ЮЮ ©   (2007-07-10 10:56) [6]

> "select * from spr_manager where ldap_manager like :manager"
а "%" располагаются в Edite-е?

не могу понять в чем причина, може в FB както по другому параметрические запросы строятся ?


Очень даже может быть. Я не больщой спец в IB, но где-то мелькал такой синтаксис:
select * from spr_manager where ldap_manager like "%"||:manager||"%"
т.е. "%" находятся в запросе, а параметром передается чистое значение подстроки

З.Ы. ldap_manager - какого типа?


 
Johnmen ©   (2007-07-10 10:59) [7]

Параметры замечательно работают. При правильном употреблении...


 
Desdechado ©   (2007-07-10 11:02) [8]

Параметрические запросы механизмом своим одинаковы что для FB, что для dBase, что для Oracle.
Слепка текста на лету - плохое решение.
Ищи ошибку в другом месте. Проверь в отладчике, погляди напараметры транзакций, посмотри, нет ли каких-либо обработчиков событий, которые могут перебивать запрос и т.п.


 
AZIZE ©   (2007-07-10 15:03) [9]

Напиши так
"select * from spr_manager where ldap_manager like"+chr(39)+Edit1.Text+chr(39);
и забей на парааметры а еще лучше
iBQuery1.SQL.Text :="select * from spr_manager"
iBQuery1.Filter:="ldap_manager like"+chr(39)+Edit1.Text+chr(39);
iBQuery1.Filtered:=True;


 
Плохиш ©   (2007-07-10 15:05) [10]


> AZIZE ©   (10.07.07 15:03) [9]

Теперь введи в Edit1.Text текст "Д"Артаньян"


 
DrPass ©   (2007-07-10 15:09) [11]


> AZIZE ©   (10.07.07 15:03) [9]
> Напиши так
> "select * from spr_manager where ldap_manager like"+chr(39)+Edit1.
> Text+chr(39);
> и забей на парааметры а еще лучше

Тут тебя самого еще учить и учить, а ты уже других пытаешься...


 
Yurij-7   (2007-07-10 21:03) [12]

Огрмное спасибо за коментарии, но до сих пор не могу ничего сделать с запросом, в кратце опишу тему, есть форма аутентификации, там я регистрируюсь через ЛДАП сервер, в моей базе есть табличка куда внесены ЛДАПы и им проставлен статус (пользователь, админ, руководитель) вот при событии OnCreate формы пытаюсь сделать выборку статуса для логина что бы потом в зависимости от значения отрисовать главное меню с определенным набором кнопок. Но, на делфях ранее работал с дбф файлами, а вот уже созел постепенно переходить на чтото серверное, выбрал жарптицу типа очень хорошого и небольшого (по требованиям)  сервака. но тут на тебе с первого клика как говорицца сразу на грабли наступил, вот и не могу разобраться (((((

To Johnmen ©   (10.07.07 10:59) [7]
Параметры замечательно работают. При правильном употреблении...

Если можно то подскажите  где почитать или подскажите как правильно создать этот запрос.

Спасибо.


 
Johnmen ©   (2007-07-10 21:24) [13]


> Yurij-7   (10.07.07 21:03) [12]

[4] + [6] разве не работает?


 
Yurij-7   (2007-07-10 21:42) [14]

сделал вот так, и ничего не работает (((

u := "cs290983gjn";
showmessage (u);
IBQuery1.Close;
IBQuery1.SQL.Clear;
iBQuery1.SQL.Text := "select * from spr_manager where ldap_manager like "%"||:manager||"%"";
IBQuery1.ParamByName("manager").AsString:= u ;
showmessage (iBQuery1.SQL.Text);
IBQuery1.Open;
status_user := ibQuery1.FieldByName("status_manager").asstring;
IBQuery1.Close;
panel1.Caption := status_user;


 
Desdechado ©   (2007-07-10 21:51) [15]

Теперь расскажи, зачемтебе LIKE, да еще и с %, если имя юзера известно точно?


 
Yurij-7   (2007-07-10 21:57) [16]

ну это я взял с примера, так у меня работало на дбф файлах, а вылечил свою проблему так

iBQuery1.SQL.Text := "select * from spr_manager where ldap_manager = :manager"

Огромное всем спасибо за помощь, самое большое спасибо Desdechado



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.054 c
15-1184140812
db2admin
2007-07-11 12:00
2007.08.05
Опять судят за использование не лицензионного ПО в школе. Rjve


15-1184083274
Курдль
2007-07-10 20:01
2007.08.05
Oracle. Прокси - аутентификация.


2-1184151366
Jomart
2007-07-11 14:56
2007.08.05
меню


2-1183995471
AZIZE
2007-07-09 19:37
2007.08.05
Help me!!!


15-1183719967
nord489
2007-07-06 15:06
2007.08.05
Работа с 3D





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский