Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизПараметры с одинаковыми именами (ADO) Найти похожие ветки
← →
DNK (2003-05-30 13:18) [0]Народ помогите.
Есть adoquery с параметрами "param1" "param2" "param1".
при вызове
parametrs.parambyname("param1").value:=1;
parametrs.parambyname("param2").value:=2;
получаю
param1=1
param2=2
param1=null
Подскажите как заставить второй параметр с именем param1 обновлятся.
← →
WarLord (2003-05-30 13:22) [1]переобозвать "param1" в "param3"
или обращаться по номеру параметра
← →
DNK (2003-05-30 13:33) [2]спасибо WarLord. Это я понимаю. Мне интересно может есть другой способ
← →
WarLord (2003-05-30 13:38) [3]
> или обращаться по номеру параметра
← →
sniknik (2003-05-30 13:41) [4]parametrs[3]).value:= 1;
← →
sniknik (2003-05-30 13:42) [5];)
parametrs[3].value:= 1;
← →
sniknik (2003-05-30 13:43) [6]даже еще вернее
parametrs[2].value:= 1;
(в этом случае)
← →
DNK (2003-05-30 13:46) [7]Проблема в том что необходим вызов именно по имени параметра. Запросы с несколькими одинаковыми параметрами используются как подчиненые. Можно конечно в главном запросе выбирать одно и то же поле несколько раз с разными именами но это не выход.
← →
WarLord (2003-05-30 13:47) [8]
> paramet ers[3].value:= 1; ;)
← →
WarLord (2003-05-30 13:48) [9]
> DNK ©
неправильная постановка задачи
← →
sniknik (2003-05-30 13:59) [10]DNK © (30.05.03 13:46)
сделай собственную реализацию parambyname, посмотри оригинальную всего то 10-15 строчек разобрать.
function TParameters.FindParam(const Value: WideString): TParameter;
var
I: Integer;
begin
for I := 0 to Count - 1 do
begin
Result := TParameter(inherited Items[I]);
if CompareText(Result.Name, Value) = 0 then Exit; <-- вот тут не выход а присвоение и дальше до конца, может еще один с таким именем найдеш.
end;
Result := nil;
end;
← →
DNK (2003-05-30 14:01) [11]
> sniknik ©
щас попробую. спасибо
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.026 c