Tag: sql server可以为

具有Nullable值的SqlParameter在ExecuteNonQuery时给出错误?

我有一个SQL查询,其参数在数据库(Sql Server)中可以为null。 更新方法正常工作,直到该用户在字段中放置一个空白,这将为DataTime对象生成一个空值(此对象可以为空)。 问题是当dbCommand.ExecuteNonQuery(); 。 以下是我为此字段构建参数的方法: IDataParameter dbParam_au_id = new SqlParameter(); dbParam_au_id.ParameterName = “@birthday”; dbParam_au_id.Value = birthday; dbParam_au_id.DbType = DbType.DateTime; dbCommand.Parameters.Add(dbParam_au_id); 我尝试将生日的null值转换为DBNull.Value,如下所示: IDataParameter dbParam_au_id = new SqlParameter(); dbParam_au_id.ParameterName = “@birthday”; dbParam_au_id.Value = birthday??DBNull.Value; dbParam_au_id.DbType = DbType.DateTime; dbCommand.Parameters.Add(dbParam_au_id); 但是这段代码不能编译,我得到错误: 错误1运算符’??’ 不能应用于’System.DateTime?’类型的操作数 和’System.DBNull’ 任何的想法?