###前提・実現したいこと
C#でADO.NETを使用しOracleに接続しています。
Insert文を発行する際にパラメータとして日付を渡したいです。
###発生している問題・エラーメッセージ
以下パターン1のようにパラメータをセットしていますが実行するとエラーが発生します。 エラーメッセージ「識別された項目のうち 1 つが無効な形式です。」 恐らく「DbType.Date」が間違っていると思います。
###該当のソースコード
パターン1
C#
1var DbProviderFactory dataFactory; 2DbParameter pr = dataFactory.CreateParameter(); 3pr.ParameterName = ":hoge"; 4pr.DbType = DbType.Date; 5pr.Value = now;
パターン2
C#
1var DbProviderFactory dataFactory; 2DbParameter pr = dataFactory.CreateParameter(); 3pr.ParameterName = ":hoge"; 4pr.Value = now;
パターン3
C#
1var DbProviderFactory dataFactory; 2DbParameter pr = dataFactory.CreateParameter(); 3pr.ParameterName = ":hoge"; 4pr.Value = now.ToString("yyyy-MM-dd HH:mm:ss");
パターン4
C#
1var DbProviderFactory dataFactory; 2DbParameter pr = dataFactory.CreateParameter(); 3pr.ParameterName = ":hoge"; 4pr.Value = "to_date('" + now.ToString("yyyy-MM-dd HH:mm:ss") + "')";
###試したこと
DbTypeは省いても動作するようなので、無くしてみました。
パターン2~4を試してみましたが、エラーが発生しました。
エラーメッセージ「ORA-01861: リテラルが書式文字列と一致しません」

回答2件
あなたの回答
tips
プレビュー