c#调用存储过程 有datetime类型参数,如果想传入null型,程序该如何调用?

解决方案 »

  1.   

    对参数赋值DBNull.Value
    比如,
    SqlConnection myConn = new SqlConnection(strConn);
    SqlCommand myComm = new SqlCommand("PUB_SYS_LOG",myConn);
    myComm.CommandType = CommandType.StoredProcedure; SqlParameter myPara = new SqlParameter("@SYS_PRG_ID",SqlDbType.Int);
    myPara.Value = DBNull.Value;
    myComm.Parameters.Add(myPara);
      

  2.   

    考虑一下其意义,可以考虑传入 DateTime.MinValue或DateTime.MaxValue,再由存储过程判断。欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
    我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
      

  3.   

    在C#2.0中,微软采用一种nullable类型弥补了这一缺陷。
    C#2.0提供了一个新的“?”类型修饰成分(问号)用于指定需要例示的nullable类型。
    DateTime? nullableDateTime = null;
    又如:
    int? age = 89;
    age = null;
      

  4.   

    e.Command.Parameters["date"].Value = System.DBNull.Value;