- - PR -
ORACLEからVB.NET(ADOで接続)を使用してDATE型の値取得に関して
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-05-09 13:42
VB.NETを使用してORACLEからデータを取得した時に
下記のようになりました。 ------ 登録したデータ ------ TO_DATE('2005/05/09 09:05:09','YYYY/MM/DD HH24:MI:SS') ------ 取得したデータ ------ 2005/05/09 9:05:09 ※時間だけ前ゼロが付かない VB.NETでは 変数名(String型) = ADODB.Recordsetオブジェクト.Fields("項目名").Value を実施し変数に格納しています。 時間だけ前ゼロが付かないのは、どの部分(VB.NET,ADO,OS???)の仕様なのでしょうか? それともどこか設定をすれば付くようになるのでしょうか? よろしく御願いいたします。 情報 OS :Windows2003 DB :Oracle 10g VB :Microsoft Visual Basic .NET ADO:ADODB.dll 7.10.3077.0 | ||||
|
投稿日時: 2005-05-09 13:58
私は.NETに関しては詳しくないですが、 SQLとして取得時にはto_char(列名、'YYYY/MM/DD HH24:MI:SS') を取得したら0がつくと思うのですが、 取得時にSQLで文字列変換されていますか? | ||||
|
投稿日時: 2005-05-09 14:08
raytonaさん、こんにちは。
日付時刻型から文字列型への暗黙の変換が行われているような気がします。 取り敢えず、「.NET Framework 開発者ガイド」-「型の書式設定」(とそこからのリンク先)あたりをじっくり読んでみて下さい。 | ||||
|
投稿日時: 2005-05-10 08:57
夏椰さん、きくちゃんさん、おはようございます。
この度はお答え頂きありがとうございました。 解決いたしましたのでお知らせいたします。 内容:-------------------------------------------------- 登録したデータ TO_DATE('2005/05/09 09:05:09','YYYY/MM/DD HH24:MI:SS') 取得したデータ 2005/05/09 9:05:09 時間だけ前ゼロが付かない -------------------------------------------------------- 解決方法:---------------------------------------------- 原因としてOSの設定でした。 OSで設定されている時刻の表示方法が 「H:MM:SS」 になっていたからで 設定を 「HH:MM:SS」 に変更したら時間に前ゼロが付きました。 ※詳細は下記のページ上部を参照してください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconStandardDateTimeFormatStrings.asp -------------------------------------------------------- ありがとうございました。 | ||||
|
投稿日時: 2005-05-10 09:26
raytonaさん、お早うございます。
もしも「日付時刻型の値を文字列としてどう表現するか」が割と重要な場合(帳票等のレイアウトとか)、OSの設定に左右されずに、意図したとおりの書式で出力する方法を学んでおいた方が良いと思います。 |
1