5

私は .net から Oracle Data Access を使用しています。クエリは次のとおりです。

command.CommandText = "select * from table1 where expirydate =:EXPIRYDATE";
command.Parameters.Add("EXPIRYDATE", OracleDbType.Date, DateTime.Today,ParameterDirection.Input);

var results = command.ExecuteScalar();

次のエラーが表示されます。「ORA-00932: データ型に一貫性がありません: 予想される DATE が NUMBER になりました」

クエリを次のように変更すると:

command.CommandText ="select * from table1 where expirydate =
to_date(:EXPIRYDATE,'DD/MM/YYYY')";

結果が出ません。

前もって感謝します。

4

2 に答える 2

15

Parametersこのエラーの原因として最も可能性が高いのは、クエリ内のパラメーターの順序がコレクションに追加する順序と一致していないことです。Oracle Data Access は、それらを名前でバインドするふりをしますが、実際には順序でバインドします。

于 2014-07-16T13:41:08.897 に答える