C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: SQLServerのTime型を時分で表示


(過去ログ 84 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■49847 / inTopicNo.1)  SQLServerのTime型を時分で表示
  
□投稿者/ kero (1回)-(2010/05/20(Thu) 11:47:34)

分類:[VB.NET/VB2005 以降] 

SQLServer 2008に格納してあるデータをVBのDataGridViewに表示する際に、データ型がTime(7)のフィールドのデータを時分(HH:MM)で表示することは可能でしょうか。
もしくはSQLServerのフィールドのデータ型を時分(HH:MM)にする方法でも構いません。

例えばSQLServerに06:00:00と格納してあるデータを06:00と表示。

DataGridViewのDefaultCellStyle.Formatを時分の形式に変更しても06:00:00と表示されてしまいました。
引用返信 編集キー/
■49848 / inTopicNo.2)  Re[1]: SQLServerのTime型を時分で表示
□投稿者/ みきぬ (895回)-(2010/05/20(Thu) 12:06:03)
※引用を前後させとります。

No49847 (kero さん) に返信
> SQLServer 2008に格納してあるデータをVBのDataGridViewに表示する際に、データ型がTime(7)のフィールドのデータを時分(HH:MM)で表示することは可能でしょうか。

> DataGridViewのDefaultCellStyle.Formatを時分の形式に変更しても06:00:00と表示されてしまいました。

原因はこのとおり。
・SQLServer の Time 型は、.NET Framework の TimeSpan 型にマッピングされる。
・TimeSpan は、ToString() などで書式指定ができない。

DateTime なら書式指定ができるので DateTime に変換するか、TimeSpan から時と分を取り出して編集するか、とかしてください。

# ちなみにその用途なら、time(7) じゃなくて time(0) にすると2バイトぶんエコ(謎)になりますね。


> もしくはSQLServerのフィールドのデータ型を時分(HH:MM)にする方法でも構いません。
>
時分型ってのは、SQLServer にはないですね。char(4) や int で代用するっつー手もなくはないですが…。

引用返信 編集キー/
■49853 / inTopicNo.3)  Re[2]: SQLServerのTime型を時分で表示
□投稿者/ kero (2回)-(2010/05/20(Thu) 17:44:47)
ありがとうございました。
DateTime型で編集することとしました。

引用返信 編集キー/
■49866 / inTopicNo.4)  Re[3]: SQLServerのTime型を時分で表示
□投稿者/ kero (3回)-(2010/05/21(Fri) 10:05:22)
解決済みにします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -