- - PR -
C#からAccessデータベースへのDateTime型の書き込み
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-04-05 10:41
C#でAccessデータベースを操作しています
C#から日時をDateTime型でDBに書き込もうとしたのですが 日付(年/月/日)のみで時間がDBに書き込まれませんでした。 C#上にデータを読み込むと時間の部分は0になっています(DBに書き込まれていないため)。 また、DBに直接時間を書き込んで読み込んだところ、 時間の読み込みはできたのですが、時間を修正して更新を行うとDBへの更新時に 「同時実行違反:UpdateCommandによって0件処理されました」 という例外が出てしまいます… Accessでのその列のデータ型は日付/時刻型(書式は日付(標準))を使っているのですが DataTime型を使って日時のやり取りを行うことはできないのでしょうか。 現在のコードは 修正したい行をDataRow型のフィールドRowに読み込み、 String DayStr = "日時("yyyy/MM/dd hh:mm;ss"の型式)" row["DateandTime"]=DataTime.ParseExact(DayStr, "yyyy/MM/dd hh:mm:ss", null); データセット.Tables["テーブル名"].Rows.Add(row); oleDbDataAdapter.Update(データセット, "テーブル名") という操作をしています。 [ メッセージ編集済み 編集者: Bell 編集日時 2004-04-05 11:52 ] |
|
投稿日時: 2004-04-05 11:05
「同時実行違反」は今回の話と関係がないと思いますよ、多分ですけど。
(例えばmdbファイルをAccessで開いて変更中だったとか?) oleDbDataAdapterのInsertCommandはどんな感じになってますか? InsertCommandのパラメータは。 |
|
投稿日時: 2004-04-05 13:03
そのものずばりでした。
oleDbAdapterのInsertCommandのパラメータを見て見ると DBに書き込む型式がDBDateになっていたため DBDateをDBTimeStampに変更したところきれいに書き込むことができました。 一郎さん、ありがとうございました。 |
1