Параметры запроса
Александр, а как создать параметр запроса типа дата?
Сборка 173 отказывалась от всех параметров, 195 Int уже принимает, datetime - отказывается.
Сборка 173 отказывалась от всех параметров, 195 Int уже принимает, datetime - отказывается.
Комментарии
в том числе и дату в виде строки с послеующей конвертацией.</strike>
выбираю тип параметра - DateTime. На этом все, любые игры с DefaultValue и Expression на следующей вкладке сносят поля. При этом в запросе я параметр еще не использую. Зачем мне строка? Не использовать в принципе тип параметра - DateTime?
Возникли проблемы при использовании нескольких параметров в запросе.
Добавляю в источник данных такой запрос:
select * from t where t.col1 = :param1 and t.col2 = :param2
Далее в том же мастере описываю эти параметры с такими же именами.
Трабла в следующем:
если в списке параметров первым стоит param1, а вторым param2 - то все запрашивается,
если же в списке первым поставить param2, а вторым param1 - то данные не выбираются,
если в этот список добавить третий параметр, которого нет в запросе - то валимся с ошибкой
Получается что связь идет не по именам параметров, а по их последовательности в запросе?
То есть параметры в списке должны быть определены в той же последовательности и в том же количестве как и в запросе?
Спасибо.
Это зависит только от провайдера данных. Так, в MS Access параметры не имеют имени, и обрабатываются по порядку. FastReport в этом процессе участия не принимает Так что, лучше объявлять параметры в том порядке и количестве, в каком они представлены в тексте запроса.
когда задаешь в запросе параметр и поле defaul value оставляешь пустым, FR ругает, что не может сконвертироваться Variant в INT или в DATA (при этом в VarChar всё нормально конвертируется (что в целом очевидно)
после возникновения такой ошибки, поля не обновлялись (и не загружались)
НО, если к примеру сперва зафигарить запрос без переменных, а потом вставить их в запрос уже изменяя существующий запрос, работать всё будет нормально, даже с ошибкой об невозможности конвертации ))
Естественно, проще вбить в DefaulValue значение, которое можно конвертировать в число или строку....