原贴:http://community.csdn.net/Expert/topic/5379/5379993.xml?temp=.945904还是我描述的不准确
我简化说了下吧DateTime dt=????
if(Dt.ToString()=="")
{
    Response.Write("OK就是要这个样子");
}在不添加和不更改原有的代码的情况下
请大家将"????"里面填写代码谢谢

解决方案 »

  1.   

    做不到。
    不过你可以这样变通:
    DateTime dt = yourDate;if(dt == DateTime.MinValue)
    {
    //......
    }
    别用空串作条件
      

  2.   

    DateTime 数据类型 不可能为空值.
      

  3.   

    Insertuser(27,Convert.ToDateTime('2007-3-4'),null)
      

  4.   

    這樣試試,給outdate這列設定Null為默認值,然後插入的時候不往這列插入數據。Create Table [user]
    (id Int,
     nameid Int,
     indate DateTime,
     outdate DateTime Default Null)
    Insert [user] (id, nameid, indate) Select 3,       23,     '2007-3-1'Select * From [user]--Result
    /*
    id nameid indate outdate
    3 23 2007-03-01 00:00:00.000 NULL
    */
      

  5.   

    楼主是做考勤系统吗以下我个人经验 说错勿怪
    日期型在插入的时候 数据库的值不能为'null'
    如果你插入的字符型(空值 如'') 数据库的值也会默认生成'1900-1-1'(DataTime类型时)如果你想 在时间为空时 数据库的值也要为'null'
    只能在写SQL语时做手脚了 
    如 当没有填写 离开时间时 
    String sql=String.Format("Insert into tab ([nameid],[indate]) values ({0},'{1}')",User,indate);
    其他情况同理我一般的做法时 当离开时间为空时 插入空字符串'' 然后数据库自动生成'1900-1-1'
    无论时显示和统计的时候 我都会将'1900-1-1'替换成空值
      

  6.   

    很可惜,DateTime是被sealed的,无法继承,无法override他的ToString()方法
      

  7.   

    DateTime dt;
    if(dr["date字段"] != DBNull.Value)
    dt = (DateTime)dr["date字段"];
    else
    dt = DateTime.Now; 
      

  8.   

    to xinfan(新凡)
    有必要纠正一下你的错误
    “日期型在插入的时候 数据库的值不能为'null'”
    日期数据类型是容许为NULL的,只有在Insertuser(27,Convert.ToDateTime('2007-3-4'),'')
    ''的时候是'1900-1-1'而且,DateTime是指类型,不能为null(C#中),如果'1900-1-1'在你的系统中是有意义的数字的花,那么你可以用另外一个实体属性isNullForDate来作判断DBNULL.Value
      

  9.   

    楼上的
    我现在就是用这种办法把没有的时候全为Convert.ToDetaTime("1900-01-01");
    但每次显示出来都是转换一下
    所以才会问了这个问题大家都是怎么做的
      

  10.   

    TO :WNASP(好好学习,天天向上)
    先谢指教
    我的意思时 在日期型插入时 相应的字段不能为null
    如果可以 
    插入什么值时 能使数据字段为null
    多谢
      

  11.   

    看了下你的第二帖,如果可以改方法体的话
    最后一个参数可以传一个 DateTime.MinValue
    然后方法体改一下:void Insertuser(Int32 User,DateTime indate,DateTime outdate)
    {
        String sql=String.Format("Insert into tab ([nameid],[indate],[outdate]) values ({0},'{1}','{2}')",User,indate,outdate==DateTime.MinValue?"":outdate.ToString());
        ....这里添加记录
    }