Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.044 c