用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
allenle的公告
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2863969-2"; urchinTracker(); </script> <script type="text/javascript"><!-- google_ad_client = "pub-7753985038232859"; google_ad_width = 120; google_ad_height = 600; google_ad_format = "120x600_as"; google_ad_type = "text_image"; //2007-11-01: blog.csdn.net/allenle google_ad_channel = "6738416815"; google_color_border = "C3D9FF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; google_ui_features = "rc:6"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
文章分类
工具
C#2VB
存档

原创  实体类(Entity)中处理DateTime的一则小技巧 收藏

在对SQL SERVER 2000的数据库操作中,如果不注意,经常碰到DateTime溢出的问题。究其原因就是SQL SERVER 2000的DateTime类型最小值是1753-1-1,而.net framework中的DateTime的默认值,也就是MiniValue是0001-1-1,如果直接将DateTime的默认值插入到数据库,当然是会溢出的。

前提:不拼写SQL。一般的应用情况下,1753-1-1视为该数据没有填写(NULL)。

解决的方法就是在程序中做判断,也许您可以采用以下的技巧。

    private DateTime _StartDateTime = SqlDateTime.MinValue.Value;
    
public DateTime StartDateTime
    {
        
get
        {
            
return _StartDateTime;
        }
        
set
        {
            
//小于SqlDateTime最小值的一律等于SqlDateTime.MinValue,也就是1753-1-1
            if (value.CompareTo(SqlDateTime.MinValue.Value) <= 0)
            {
                _StartDateTime 
= SqlDateTime.MinValue.Value;
            }
        }
    }

如果在程序其他的地方需要判断的话,一律使用SqlDateTime.MinValue.Value 来代替DateTime.MinValue。

< type="text/javascript"> < type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

发表于 @ 2007年08月18日 14:28:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:在Gridview中获取当前行的GridviewRow对象 | 新一篇:C#如何获取CPU序列号,或者更多……

  • 发表评论
  • 评论内容:
  •  
Copyright © allenle
Powered by CSDN Blog