.net中如何把一个空值转换为时间类型写入数据库中?

textbox1用来显示时间,调用用oracle的存储过程来把时间记录到数据库里,例如:
OleDbCommand Pcmd = new OleDbCommand("就诊病人信息_insert", Pconn);
Pcmd.CommandType = CommandType.StoredProcedure;
Pcmd.Parameters.Add("病人ID_IN", OleDbType.UnsignedInt, 32).Value = Convert.ToInt32(textbox0.text.ToString());
Pcmd.Parameters.Add("入院时间_IN", OleDbType.Date, 50).Value = Convert.ToDateTime(textbox.text1.ToString());
Pcmd.ExecuteScalar();
textbox1的值有时是空值,这个时候就没办法把空值写入数据库中!“入院时间”这个字段在数据库中是允许空值的,只要是空值的时候数据就存不进数据库求大侠指点啊!!

用SimpleDateFormat这个类,在new这个类的时候定义好需要的类型,调format这个方法就可以:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static Date stringToDate(String dateStr) throws ParseException {
SimpleDateFormat srcFormatter = new SimpleDateFormat("yyyy-MM-dd");
return srcFormatter.parse(dateStr);
}

public static String dateToString(Date date) {
// 05-10月-2010
SimpleDateFormat dstFormatter = new SimpleDateFormat("dd-MM月-yyyy");
return dstFormatter.format(date);
}

public static void main(String[] args) throws ParseException {
// 直接把这个date插入数据库,数据库会按自己的格式处理日期.
Date date = Test.stringToDate("2010-10-05");
String dateStr = Test.dateToString(date);
System.out.println(dateStr);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-26
保存的时候判断一下 为空则设置值为DBNull
第2个回答  2013-02-26
判断textbox1的值是否为空,如果为空,就设置.Value = DBNull.Value;本回答被提问者采纳
第3个回答  2013-02-26
private DateTime? _submittime;在类型后面加个问号,表示可以为NULL追问

在OleDbType.Date后面加个?吗 这样也不行的

相似回答