Параметры запроса (для Sybase)

отредактировано 14:38 Раздел: FastReport .NET
Строю простейший запрос с одним параметром (БД Sybase ASE 12.5.1) (использую результаты запроса в диалоговом окне):
SELECT B.Id, B.Name, B.Idref
FROM [Table1] B 
WHERE B.Idref = :param1
определяю его в окне параметров. задаю значение по-умолчания
начинаю использовать - ошибка:
FastReport.Net v1.1.53
[Native Error code: 102]
[DataDirect ADO Sybase Provider] Incorrect syntax near ':'.
   в System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   в System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   в System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   в FastReport.Data.DataConnectionBase.FillTableData(DataTable table, String selectCommand, CommandParameterCollection parameters)
   в FastReport.Data.DataConnectionBase.Mh7cph9kC(TableDataSource )
   в FastReport.Data.TableDataSource.LoadData(ArrayList rows)
   в FastReport.Data.DataSourceBase.kXQng3nJD()
   в FastReport.Data.DataSourceBase.Init(Relation relation, String filter, SortCollection sort)
   в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData, String filter, SortCollection sort)
   в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData)
   в FastReport.Dialog.DataFilterBaseControl.FillData(DataSourceBase parentData)
   в FastReport.Dialog.DataFilterBaseControl.InitializeControl()
   в FastReport.Dialog.DialogPage.sI3Mnrj36()
   в FastReport.Engine.ReportEngine.VPJ9yLDGP(DialogPage )
   в FastReport.Engine.ReportEngine.kP6rTj5sj()
   в FastReport.Engine.ReportEngine.TIxUheV3I(Boolean , Boolean , ReportPage )
   в FastReport.Engine.ReportEngine.rNEPOVaiy(Boolean , Boolean )
   в FastReport.Report.Prepare(Boolean append)
   в FastReport.Report.Prepare()
   в V0TSkp3JiXjEEBYpJVt.t2bfjT3HsbrTi01Xm57.RI8X41AKN()

пробовал и @ перед параметром:
FastReport.Net v1.1.53
[Native Error code: 137]
[DataDirect ADO Sybase Provider] Must declare variable '@param1'.
   в System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   в System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   в System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   в System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   в FastReport.Data.DataConnectionBase.FillTableData(DataTable table, String selectCommand, CommandParameterCollection parameters)
   в FastReport.Data.DataConnectionBase.Mh7cph9kC(TableDataSource )
   в FastReport.Data.TableDataSource.LoadData(ArrayList rows)
   в FastReport.Data.DataSourceBase.kXQng3nJD()
   в FastReport.Data.DataSourceBase.Init(Relation relation, String filter, SortCollection sort)
   в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData, String filter, SortCollection sort)
   в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData)
   в FastReport.Dialog.DataFilterBaseControl.FillData(DataSourceBase parentData)
   в FastReport.Dialog.DataFilterBaseControl.InitializeControl()
   в FastReport.Dialog.DialogPage.sI3Mnrj36()
   в FastReport.Engine.ReportEngine.VPJ9yLDGP(DialogPage )
   в FastReport.Engine.ReportEngine.kP6rTj5sj()
   в FastReport.Engine.ReportEngine.TIxUheV3I(Boolean , Boolean , ReportPage )
   в FastReport.Engine.ReportEngine.rNEPOVaiy(Boolean , Boolean )
   в FastReport.Report.Prepare(Boolean append)
   в FastReport.Report.Prepare()
   в V0TSkp3JiXjEEBYpJVt.t2bfjT3HsbrTi01Xm57.RI8X41AKN()

с ? вообще не видит параметры



какой символ надо использовать для Sybase ASE ???

Комментарии

  • отредактировано 14:38
    есть здесь кто?
  • отредактировано 14:38
    Я не работал с Sybase и не подскажу, какой там должен быть символ для обозначения параметров. Обратитесь к их справке.
  • отредактировано July 2009
    AlexTZ написал: »
    Я не работал с Sybase и не подскажу, какой там должен быть символ для обозначения параметров. Обратитесь к их справке.
    ":" должно быть
    3ий и 4ый фастрепроты с ":" работали нормально...

    официальное обращение в службу поддержки поможет? или все-таки попробуете sybase??
  • отредактировано 14:38
    FastReport.Net использует стандартный OleDbConnection, OleDbDataAdapter. Какой-либо самодеятельности типа самостоятельного парсинга текста SQL не выполняется. Если что-то не работает - ищите ошибку в синтаксисе (тот же запрос, в Visual Studio - работает?). На FR3, FR4 равняться нет смысла - разные технологии, разные движки доступа к данным.

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

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