![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Variant := := StrToInt('1') приводит к исключению, почему?
Kolan © (2007-10-16 16:05:00)Сабж.
Делаю так:
function TQuestion.GetVariantFromValue: Variant;
begin
Result := 1;
case FDataType of
dtInteger:
Result := StrToInt('1');
dtFloat:
Result := StrToFloat(Value);
dtString:
Result := Value;
dtDateTime:
Result := StrToDateTime(Value);
end;
end;
А может мне это вообще не надо.
Есть ADOQuery
И параметр в запросе. Вот в этот параметр надо положить значание. Значение это всегда строка, а параметр любой, например int, может можно обойтись без GetVariantFromValue?
Query.Parameters.FindParam(S).Value := '1';
Reindeer Moss Eater (2007-10-16 16:28:00) [21]Что за исключение-то?
Щас выяснится, что там обычный AV.
Kolan (2007-10-16 16:27:00) [22]> Может и да, но зачем заставлять компьютер делать какую-то
> неочевидную работу?
Query.Parameters.FindParam(S).AsString
Я не незнаю AsЧто когда пишу ког, это выясняется только в ран тайме
KSergey (2007-10-16 16:23:00) [23]> Kolan © (16.10.07 16:21) [12]
> Если я сделаю так:
> Query.Parameters.FindParam(S).Value := '1';
>
> А в запросе параметр должен быть int он сам перекодирует?
>
Может и да, но зачем заставлять компьютер делать какую-то неочевидную работу?
Игорь Шевченко (2007-10-16 16:22:00) [24]
> Query.Parameters.FindParam(S).Value := '1';
Query.Parameters.FindParam(S).AsString := '1' ?
Kolan (2007-10-16 16:21:00) [25]Блин видно причина не в этом
Вызывал так:
Query.Parameters.FindParam(S).Value := Report.Questions[I].GetVariantFromValue
А FindParam возвращяло nil отсюда и ав.
Я не пойму.
Если я сделаю так:
Query.Parameters.FindParam(S).Value := '1';
А в запросе параметр должен быть int он сам перекодирует?
Ega23 (2007-10-16 16:20:00) [26]
> Ega23 © (16.10.07 16:19) [9]
Пардон, с IntToStr перепутал
KSergey (2007-10-16 16:20:00) [27]> KSergey © (16.10.07 16:19) [8]
> Вариант в посте ...
Имелось в виду "Вариант программы, приведенный в изначальном посте".
Ega23 (2007-10-16 16:19:00) [28]
StrToInt('1');
Кавычки для кого?
KSergey (2007-10-16 16:19:00) [29]> Kolan © (16.10.07 16:09) [1]
> Variant := StrToInt('1')
> Ессо
Вот это как раз не "ессо".
Это зачем?? Вариант в посте ведь верный (на вид). В нем magic переменная Result имеет тип Variant.
А что написано в [1] и куда и зачем = мне не понятно.
Kolan (2007-10-16 16:18:00) [30]> А где это видно что ты хочешь?
Result :=
Вот хочу и присваиваю к Result
Reindeer Moss Eater (2007-10-16 16:16:00) [31]А где это видно что ты хочешь?
Kolan (2007-10-16 16:14:00) [32]> Потому что «variant» неудачное имя для идентификатора
Так я хочу вернуть тип Variant, почему не удачное?
Reindeer Moss Eater (2007-10-16 16:13:00) [33]Потому что "variant" - неудачное имя для идентификатора
Kolan (2007-10-16 16:11:00) [34]> К исключению приводит не StrToInt
Да, а присвоение к Variant(имхо), а почему?
Reindeer Moss Eater (2007-10-16 16:10:00) [35]К исключению приводит не StrToInt
Kolan (2007-10-16 16:09:00) [36]
Variant := StrToInt('1')
Ессо