Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

передать параметр в IBDataSet   Найти похожие ветки 

 
mr.il ©   (2006-05-16 10:41) [0]

Есть запрос:
select *
from PERSONS pers
where upper(pers.PERSON) like upper(:PERS_Name) or
:PERS_Name = "ALL"
order by pers.PERSON

передаю параметр

 IBDS_PERSONS.Close;
 IBDS_PERSONS.Params.ByName("PERS_Name").AsString := "ALL";
 IBDS_PERSONS.Open;

а в ответ: "Incorrect values within SQLDA structure".
Весь хелп перерыл понять ошибку не могу.


 
Sergey13 ©   (2006-05-16 10:45) [1]

IBDS_PERSONS.Params.ParamByName("PERS_Name").AsString := "ALL";


 
Desdechado ©   (2006-05-16 10:49) [2]

есть подозрение, что параметров 2, хоть и с одинаковым именем
и что присваивать значение нужно обоим


 
Sergey13 ©   (2006-05-16 11:00) [3]

У меня вот так прошло вроде

select *
from PERSONS pers
where upper(pers.PERSON) like upper(:PERS_Name) or :PERS_Name = cast("ALL" as varchar(30))


 
mr.il ©   (2006-05-16 14:07) [4]

Desdechado © писал
есть подозрение, что параметров 2, хоть и с одинаковым именем...

Оказалось, в точку. Блин так не очевидно. Искал решение проблемы в одном месте, а оказалось проблема в другом. Надо это включить в фак.

where upper(pers.PERSON) like upper(:PERS_Name) or
:PERS_Name1 = "ALL"
.....
IBDS_PERSONS.Params.ByName("PERS_Name").AsString := "ALL";
IBDS_PERSONS.Params.ByName("PERS_Name1").AsString := "ALL";


 
Johnmen ©   (2006-05-16 14:22) [5]

>Надо это включить в фак.

Зачем из хелпа в фак?


 
ANB ©   (2006-05-16 14:58) [6]

ЗЫ. Вот всегда считал, что лучше ораклом пользоваться.


 
mr.il ©   (2006-05-16 15:39) [7]

Johnmen ©   (16.05.06 14:22) [5]
>Надо это включить в фак.
Зачем из хелпа в фак?


Может я не то читаю, но в хелпе по TIBXSQLDA ничего не сказано про "гемор" с повторным использованием параметра в запросе.

ANB ©   (16.05.06 14:58) [6]
ЗЫ. Вот всегда считал, что лучше ораклом пользоваться.

А если это небольшой проект?


 
Desdechado ©   (2006-05-16 15:39) [8]

ANB ©   (16.05.06 14:58) [6]
дело не в СУБД, а в особенностях реализации отдельных компонентов
некоторые из них считают, что нужно все одноименные параметры присваивать скопом, некоторые - только первый попавшийся


 
Johnmen ©   (2006-05-16 16:06) [9]

Params or Parameters property to assign values to a parameter based on the parameter’s ordinal position within the SQL statement.

Это прямой намёк.



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

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1151154760
Rembo
2006-06-24 17:12
2006.07.16
Значение поля всех записей в таблице


2-1151565058
lobach
2006-06-29 11:10
2006.07.16
Image...


2-1151412468
Neket
2006-06-27 16:47
2006.07.16
И вновь DBGrid


3-1147685034
Sorcerer
2006-05-15 13:23
2006.07.16
Использование ADO


3-1147599980
Algiz
2006-05-14 13:46
2006.07.16
Составное значение поля