2

広範囲に検索しましたが、これに関する例は見つかりませんでした。

IntervalDayToSecondTimeSpan 型の .NET 変数があり、それをOracle DBのレコードに入れる必要があります。

http://docs.oracle.com/html/B14164_01/featOraCommand.htmこのページを参照すると、TimeSpan オブジェクトを OracleParameter として渡し、IntervalDayToSecondタイプのレコードで Oracle DB に挿入できるはずです。

これはコードです:

OracleParameter t = new OracleParameter("PAR_T", _msg.t);

DBType を明示的に指定して、あらゆる方法で試しました (必要ないはずです)。

OracleParameter t = new OracleParameter("PAR_T", _msg.t);
taxi.OracleDbType = OracleDbType.IntervalDS;

私は常にOracleから同じエラーを受け取ります:

Devart.Data.Oracle.OracleException: ORA-01861: リテラルがフォーマット文字列と一致しません

それを機能させる方法がわかりません。このアプリケーションで数十個のパラメーター (タイプStringIntegerDate) を使用していますが、それらはすべて機能しています。TimeSpanGoogle では、C#をパラメーターとして使用している例は 1 つも見つかりません。誰もこれを試したことがありますか?

4

1 に答える 1

0

わかりました、それは間違いなく私のせいでした。古き良きOracleParameterは彼の仕事をうまくやっていました。問題はクエリの別の場所にありました。

Interval Day To Secondしたがって、TimeSpan 変数を Oracleレコードにバインドできることをここに確認します。

string s = "00:20";
TimeSpan ts = TimeSpan.parse(s);
OracleParameter op = new OracleParameter("PAR_T", ts);

これにより、レコードPAR_Tに値を挿入するためにクエリで使用できるという名前のパラメーターが作成されます。Interval Day To Second

于 2013-01-14T14:38:59.033 に答える