Передача параметра в запрос Postgresql
Добрый день!
Помогите, пожалуйста разобраться.
Использую FastReport Дизайнер 2017.2.1.
Создаю Connection через ODBC к БД PostgreSQL (подключение проходит успешно).
В источник данных необходимо прописать запрос с параметром.
Пытаюсь сделать так:
1. В окне Мастер запроса запрос:
2. В следующем окне указываю один параметр:
3. В итоге получается источник данных:
4. В окне Данные - Параметры создан параметр Journal_ID
5. К разделу Данные отчета привязана таблица с указанным запросом:
6. Выполняем Предварительный просмотр.
Результат: отображается исключение:
Подскажите, пожалуйста:
Корректно ли в данном случае передается параметр в запрос (для PostgreSQL данный синтаксис является корректным и в мастере создания запроса ошибок нет)?
Если нет, то каким образом передавать значение в запрос?
Помогите, пожалуйста разобраться.
Использую FastReport Дизайнер 2017.2.1.
Создаю Connection через ODBC к БД PostgreSQL (подключение проходит успешно).
В источник данных необходимо прописать запрос с параметром.
Пытаюсь сделать так:
1. В окне Мастер запроса запрос:
SELECT "DocN", "ID", "RegDate", "JournalID", "VersionCount"
FROM dbo.TableName
WHERE "JournalID" = $1
2. В следующем окне указываю один параметр:
<CommandParameter Name="1" DataType="10" Expression="[Journal_ID]" DefaultValue="379246"/>
3. В итоге получается источник данных:
<TableDataSource Name="Table" DataType="System.Int32" Enabled="true" SelectCommand="SELECT "DocN", "ID", "RegDate", "JournalID", "VersionCount"
FROM dbo.LDERC
WHERE "JournalID" = $1">
<Column Name="DocN" DataType="System.String"/>
<Column Name="ID" DataType="System.Int32"/>
<Column Name="RegDate" DataType="System.DateTime"/>
<Column Name="JournalID" DataType="System.Int32"/>
<Column Name="VersionCount" DataType="System.Int32"/>
<CommandParameter Name="1" DataType="10" Expression="[Journal_ID]" DefaultValue="379246"/>
</TableDataSource>
4. В окне Данные - Параметры создан параметр Journal_ID
<Parameter Name="Journal_ID" DataType="System.Int32"/>
5. К разделу Данные отчета привязана таблица с указанным запросом:
<DataBand Name="Data1" Top="74.15" Width="718.2" Height="47.25" DataSource="Table">
<TextObject Name="Text3" Left="56.7" Top="18.9" Width="113.4" Height="18.9" Text="[Table.DocN]"/>
<TextObject Name="Text5" Left="292.95" Top="18.9" Width="132.3" Height="18.9" Text="[Table.RegDate]"/>
<TextObject Name="Text7" Left="500.85" Top="18.9" Width="113.4" Height="28.35" Text="[Table.VersionCount]"/>
</DataBand>
6. Выполняем Предварительный просмотр.
Результат: отображается исключение:
System.Data.Odbc.OdbcException (0x80131937): ERROR [42P02] ERROR: there is no parameter $1;
Error while executing the query
Подскажите, пожалуйста:
Корректно ли в данном случае передается параметр в запрос (для PostgreSQL данный синтаксис является корректным и в мастере создания запроса ошибок нет)?
Если нет, то каким образом передавать значение в запрос?
Комментарии
1. В запросе укажите параметр через символ двоеточие, например Where JournalID = :Parameter1
2. В окне параметров запроса добавьте новый параметр Parameter1 и заполните все необходимые поля
Добрый день
Передаю параметр
select "БИК" from stack."Банки" where "БИК" = :bik
Получаю ошибку error 42601 ОШибка синтаксиса (примерное положение ":")
Подключение через ODBC
Объясните что не так?
Использую Fastreport.net 2018.4.7