Я использую ADO.NET для подключения к БД Oracle через ODBC.Все работает нормально, кроме привязки параметров с помощью простого запроса SQL:
Connection.Open();
IDbCommand command = Connection.CreateCommand();
command.CommandText = "SELECT length FROM activity_type WHERE name = :name_of_activity";
var parameter = command.CreateParameter();
parameter.ParameterName = ":name_of_activity";
parameter.Value = "Short_break";
command.Parameters.Add(parameter);
int result = Convert.ToInt32(command.ExecuteScalar());
Connection.Close();
Всегда возвращает 0 результатов (ноль от ExecuteScalar()
- то же самое от читателя).Но если бы я поставил простой SQL-запрос, подобный следующему: command.CommandText = "SELECT length FROM activity_type WHERE name = 'Short_break'"
, он бы работал как шарм.Более того, я использовал похожие конструкции по всему коду для предложений INSERT INTO
, и они были в порядке.
Я что-то упустил?