Syatem.DateTime.Nowで日付と時刻をを取得できない。

解決


トウガラシ  2005-07-12 03:36:59  No: 90928

初めまして、トウガラシと申します。
初めての質問なので失礼があったらごめんなさい。

VB.NET2003でAccessで作ったテーブルにレコードの追加を行い、その時の日付と時刻もテーブル内の列(日付/時刻型)にSystem.DateTime.Nowで記録したいのが、なぜか日付だけが記録されます。
フォーム上にボタンを配置してボタンを押下したら以下の作業を行います。
実際のコードはもっとの長いのですが、取り合えず日付と時刻の更新に関わる部分だけ、抜き出してみました。

Private Sub RegistrationButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegistrationButton.Click

    Dim r As DataSet1.テーブル名Row

    r = DataSet11.テーブル名.NewRow

    r.列名 = System.DateTime.Now    '…①

    DataSet11.テーブル名.Rows.Add(r)

    OleDbDataAdapter1.Update(DataSet11.テーブル名)

End Sub

デバッグを行うと①のところに"7/11/2005 6:31:35 PM"と時刻まで保存されているのがわかるのですが、実際のAccessのテーブルには年月日までしか保存されません。

お知恵を拝借したいと思います。
よろしくお願いします。


じゃんぬねっと  URL  2005-07-12 04:01:15  No: 90929

MDB が認識可能な日付の書式で渡すか、
普通にテキストとして渡すかなどしましょう。


魔界の仮面弁士  2005-07-12 04:26:48  No: 90930

OleDbType が DBDate になっていませんか?

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200503/05030080.txt


トウガラシ  2005-07-12 19:48:07  No: 90931

返信が遅くなって済みません。

>じゃんぬねっとさん
>魔界の仮面弁士さん

返信、有り難う御座います。
早速試してみます。
結果の報告はしばらくお待ちください。


トウガラシ  2005-07-13 01:01:09  No: 90932

>魔界の仮面弁士さん

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200503/05030080.txt

上記の内容に従い、.UpdateCommand.Parameters( 日付パラメータ列 ).OleDbTypeの内容を、DBDateからDateに変更したのですが、やはりテーブルには日付のみが保存されています。

ちなみにレコードの更新を行うプログラムを作りDBDateをDateに変更して実行した所、日付と時刻の両方がテーブルに保存されていました。

このレコードの追加の場合、

    DataSet11.テーブル名.Rows.Add(r)

でデータセットに行の追加を行う時に、時刻が削られるのでしょうか?
データセットプロパティで問題の列のDataTypeを見ると、『System.DataTime』になっていました。


トウガラシ  2005-07-13 20:38:01  No: 90933

解決しました。

レコードの新規登録で日付し保存できなかったのは、.InsertCommand.Parameters(列名).OleDbTypeの内容をDBDateからDateに変更してなかったからでした。

.UpdateCommandばかり見てたら、いつまで経っても出来ませんよね。
馬鹿だなぁ〜、俺って。

皆さん、本当にお世話になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加