Добрый день!
Простите за мой дилетантский вопрос, но с odbc только начал разбираться. Есть проект который написан на C#+Firebird+Firebird net provider, теперь его необходимо перевести на odbc. В общем то все не сложно, но вот в одну проблему я уперся.
Формирую UpdateCommand, получаю нечто вроде
“update table set firld1=@field1 where id=@id”
Потом
sqlDA.UpdateCommand.Parameters.Add(new OdbcParameter("@firld1, OdbcType.BigInt, 4, table.Columns[i].ColumnName));
Здравствуйте, Shopen, Вы писали:
S>Добрый день! S>Простите за мой дилетантский вопрос, но с odbc только начал разбираться. Есть проект который написан на C#+Firebird+Firebird net provider, теперь его необходимо перевести на odbc. В общем то все не сложно, но вот в одну проблему я уперся.
Очень похоже на шаг назад. ODBC более старая технология чем Ole Db. Чем обусловлен этот переход и отказ от использования Firebird .Net провайдера?
S>Формирую UpdateCommand, получаю нечто вроде S>“update table set firld1=@field1 where id=@id” S>Потом S>sqlDA.UpdateCommand.Parameters.Add(new OdbcParameter("@firld1, OdbcType.BigInt, 4, table.Columns[i].ColumnName));
S>Вылетает ошибка:”Token unknoun @”
проблема в префиксе именованных параметров. Какой ODBC провайдер вы используете? Убедитесь в том что:
1. он вообще поддерживает именованные параметры
2. узнайте какой префикс для них используется (@, :, $) и т.п. В некоторых провайдерах можно выбирать какой префикс использовать.