Параметры запроса

отредактировано 13:47 Раздел: FastReport .NET
Александр, а как создать параметр запроса типа дата?
Сборка 173 отказывалась от всех параметров, 195 Int уже принимает, datetime - отказывается.

Комментарии

  • отредактировано April 2009
    <strike>передовать можно только строковые параметры.
    в том числе и дату в виде строки с послеующей конвертацией.</strike>
  • отредактировано 13:47
    Немного не понял,
    выбираю тип параметра - DateTime. На этом все, любые игры с DefaultValue и Expression на следующей вкладке сносят поля. При этом в запросе я параметр еще не использую. Зачем мне строка? Не использовать в принципе тип параметра - DateTime?
  • отредактировано 13:47
    С параметрами был баг - если первый раз указали неправильно DefaultValue, то все последующие попытки, в т.ч. и с правильными значениями, игнорировались. Исправил. Дата передается нормально, в DefaultValue в виде строки 21.01.2009, в Expression - выражение, возвращающее тип DateTime.
  • отредактировано 13:47
    пардон, я думал речь о сервере
  • dsvdsv
    отредактировано 13:47
    Привет всем.

    Возникли проблемы при использовании нескольких параметров в запросе.

    Добавляю в источник данных такой запрос:

    select * from t where t.col1 = :param1 and t.col2 = :param2

    Далее в том же мастере описываю эти параметры с такими же именами.

    Трабла в следующем:

    если в списке параметров первым стоит param1, а вторым param2 - то все запрашивается,
    если же в списке первым поставить param2, а вторым param1 - то данные не выбираются,
    если в этот список добавить третий параметр, которого нет в запросе - то валимся с ошибкой

    Получается что связь идет не по именам параметров, а по их последовательности в запросе?
    То есть параметры в списке должны быть определены в той же последовательности и в том же количестве как и в запросе?

    Спасибо.
  • отредактировано 13:47
    Здравствуйте,

    Это зависит только от провайдера данных. Так, в MS Access параметры не имеют имени, и обрабатываются по порядку. FastReport в этом процессе участия не принимает :) Так что, лучше объявлять параметры в том порядке и количестве, в каком они представлены в тексте запроса.
  • отредактировано 13:47
    не знаю как в самой последней версии, но в новой версии
    когда задаешь в запросе параметр и поле defaul value оставляешь пустым, FR ругает, что не может сконвертироваться Variant в INT или в DATA (при этом в VarChar всё нормально конвертируется (что в целом очевидно)
    после возникновения такой ошибки, поля не обновлялись (и не загружались)
    НО, если к примеру сперва зафигарить запрос без переменных, а потом вставить их в запрос уже изменяя существующий запрос, работать всё будет нормально, даже с ошибкой об невозможности конвертации ))
    Естественно, проще вбить в DefaulValue значение, которое можно конвертировать в число или строку....

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.