首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于datetime替null的时候报错

2013-10-27 
关于datetime为null的时候报错这是我代码哦public static int ModifProject(tb_ProjectTable PT){string s

关于datetime为null的时候报错
这是我代码哦
public static int ModifProject(tb_ProjectTable PT)
        {
            string sql = "Update tb_Project set ProjectName=@ProjectName,ProjectManager=@ProjectManager,ProjectStage=@ProjectStage,ProjectNumber=@ProjectNumber,FilePath=@FilePath,StartTime=@StartTime,EndTime=@EndTime,Bonus=@Bonus,Remarks=@Remarks where ProjectID=@ProjectID";
            SqlParameter[] param = new SqlParameter[]
            {
                new SqlParameter("@ProjectID",PT.ProjectID),
                new SqlParameter("@ProjectName",PT.ProjectName),
                new SqlParameter("@ProjectManager",PT.ProjectManager),
                new SqlParameter("@ProjectStage",PT.ProjectStage),
                new SqlParameter("@ProjectNumber",PT.ProjectNumber),
                new SqlParameter("@FilePath",PT.FilePath),
                new SqlParameter("@StartTime",PT.StartTime),
                new SqlParameter("@EndTime",(PT.EndTime!=null ? PT.EndTime : DBNull.Value)),
                new SqlParameter("@Bonus",PT.Bonus),
                new SqlParameter("@Remarks",PT.Remarks)
            };
            return DBhelper.ExecuteNonQuery(System.Data.CommandType.Text, sql, param);
        }
会报这个错误,应该怎么解决哦
错误556无法确定条件表达式的类型,因为“System.DateTime?”和“System.DBNull”之间没有隐式转换

我想的是,如果EndTime不为空,就正常赋给@EndTime值,如果为空,就赋给@EndTime  null值哦

[解决办法]
new SqlParameter("@EndTime",(PT.EndTime!=null ? (object)PT.EndTime : DBNull.Value))
[解决办法]
new SqlParameter("@EndTime",PT.EndTime),

热点排行