iBatis中空的日期在插入的时候怎么插入一个空的,而不是最小日期(1889-01-01...)
insert tab (id, sdt) values (#id#,#sdt#)
在对象的日期类型上如果不初始赋值,会报错,但日期没法赋给null值
查帮助说可以用nullable,但没找到日期的用法,有没有办法
insert tab (id, sdt) values (#id#,#sdt#)
在对象的日期类型上如果不初始赋值,会报错,但日期没法赋给null值
查帮助说可以用nullable,但没找到日期的用法,有没有办法
配置文件如下:
<insert id="Insert" parameterClass="Person" resultClass="int">
insert into PERSON
(PER_ID, PER_FIRST_NAME, PER_LAST_NAME,
PER_BIRTH_DATE, PER_WEIGHT_KG, PER_HEIGHT_M)
values
(#Id#, #FirstName#, #LastName#,
#BirthDate#, #WeightInKilograms#, #HeightInMeters#)
</insert>程序代码片断
Person newperson = new Person();
for (int i = 1; i <= 1000; i++)
{
newperson.Id = i;
newperson.FirstName = "No." + i.ToString();
newperson.LastName = i.ToString();
//newperson.BirthDate = DateTime.Now;
Mapper.Instance().Insert("Insert", newperson);
}
newperson = null;
如注释newperson.BirthDate = DateTime.Now;
则会报
SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM
这是因为日期强类型未初始化,但我怎么让一个空的值持久化?
因为有些日期型的列不一定必须填,包括数字型等
private DateTime? _BirthDate = null;
public DateTime? BirthDate
{
get { return _BirthDate; }
set { _BirthDate = value; }
}