- PR -

スマートな日付型変数の扱い方は?

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2004-10-18 19:48
こんにちは。

その昔、VB6以前の時代には、データベースの日付型列でNullが入っているものは
VBアプリ側では日付変数内部は シリアル値0として保持し、シリアル値0の場合は
画面上には表示しないというような作り方をよく見ました。

.NETの日付型変数は、シリアル値を持たないようで今までの手法が使えないようです。
.NETの場合でスマートなやり方はどのようなやり方になりそうでしょうか?
これがオススメという方法はありませんか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-18 20:47
引用:

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdatetimeclasstickstopic.asp

このプロパティの値は、0001 年 1 月 1 日午前 12:00 から経過した 100 ナノ秒間隔の数です。


シリアル値です。
Lichtenstein
ベテラン
会議室デビュー日: 2003/11/06
投稿数: 61
投稿日時: 2004-10-18 20:58
値と、状態を持つ構造体(orクラス)を作成するのが好きです。

NULLや0に意味を持たせると、場合によっては泥沼にはまります。(魔法のように最後まで巧くいく場合もありますが)
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-10-18 21:58
引用:

値と、状態を持つ構造体(orクラス)を作成するのが好きです。



SqlDateTime ってのが用意されているので、それを使うとか。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
Lichtenstein
ベテラン
会議室デビュー日: 2003/11/06
投稿数: 61
投稿日時: 2004-10-19 11:50
>SqlDateTime

いや、お客さんから
「NULLの時はこれこれこうです。0ですか? これこれこうして下さい。実は999の時はこれこれ(略)」
みたいに言われることが多いもので……

「データベースの日付型がNULL」の時の対処って、将来的に変更されやすいし、プログラム側のNULLにも関わりたくない、という考えなのです。
1

スキルアップ/キャリアアップ(JOB@IT)