Задать вопрос
@Salabar

Update timestamp в oracle через odp.net. Из-за чего Invalid parameter?

Есть запрос:
const String SET_THE_LOT_SQL = @"update lots set bet = :bet, finishing_time = :finishing_time,  user_id = :user_id where lot_id = :currentLot";


OracleCommand set_lot_command = new OracleCommand(SET_THE_LOT_SQL, connection) { BindByName = true, CommandType = System.Data.CommandType.Text };
            set_lot_command.Parameters.Add(":bet", OracleDbType.Decimal).Value = bet;
            set_lot_command.Parameters.Add(":user_id", OracleDbType.Int32).Value = user_id;
            set_lot_command.Parameters.Add(":new_limit", OracleDbType.TimeStamp).Value = DateTime.Now;
            set_lot_command.Parameters.Add(":currentLot", OracleDbType.Int32).Value = lot_id;
            set_lot_command.ExecuteNonQuery();

:new_limit, на самом деле, нехитро вычисляется, но не суть.

На execute кидается исключение:

An unhandled exception of type 'System.ArgumentException' occurred in Oracle.ManagedDataAccess.dll

Additional information: Invalid parameter binding: finishing_time
Тип данных в самой БД - timestamp(6).

Можно чистосердечно забить, в принципе, но тогда в курсовой ни одной фичи не останется, можно сказать.
  • Вопрос задан
  • 2616 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vapaamies
@Vapaamies
Психанул и снес свои ответы не отмечающим решения…
Ну так параметр :finishing_time ведь нигде не устанавливается, хотя в тексте запроса упомянут. Текст ошибки как раз на это и намекает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы