C#中解决插入数据库的某个字段类型为datetime 为空
2011-08-29 08:58
330 查看
今天在做项目的时候发现了一个,以前可能没注意到,添加时间的时候,有的是强制输入,还有的是默认为当前时间或者再数据库里指定默认值为(getdate())这样的话,插入到类型为DateTime的字段当然没什么问题了,但是如果不是上面的情况,比如:
DateTime dt = Convert.ToDateTime(txtfbDate.Text);
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",SqlDbType.DateTime,dt)
}
如果是这样的话,那么则需要判断是否输入,如果输入则转换,否则直接让dt=DBNull.Value即可,
有时候我们也会这样写
string dt = txtfbDate.Text;
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",dt)
}
这样的话即时你不填写,数据库里也会默认添加1900-01-01 00:00:00.000,所以也要判断
if(dt=="")
{
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",DBNull.Value)
}else
{
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",dt)
}
有的朋友说,如果不输入,就给个默认时间,呵呵,这样肯定是不合理的,你的默认时间有时候也会被人误认为就是你输入的呢
总之就是一点:输入正确,则正常插入,否则插入空置null;
DateTime dt = Convert.ToDateTime(txtfbDate.Text);
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",SqlDbType.DateTime,dt)
}
如果是这样的话,那么则需要判断是否输入,如果输入则转换,否则直接让dt=DBNull.Value即可,
有时候我们也会这样写
string dt = txtfbDate.Text;
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",dt)
}
这样的话即时你不填写,数据库里也会默认添加1900-01-01 00:00:00.000,所以也要判断
if(dt=="")
{
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",DBNull.Value)
}else
{
SqlParameter[] parms = {
LYDAO.Utils.MakeInParam("@fbDate",dt)
}
有的朋友说,如果不输入,就给个默认时间,呵呵,这样肯定是不合理的,你的默认时间有时候也会被人误认为就是你输入的呢
总之就是一点:输入正确,则正常插入,否则插入空置null;
相关文章推荐
- C#中解决插入数据库的某个字段类型为datetime 为空
- C#中解决插入数据库的某个字段类型为datetime 去掉默认值1900-01-01
- C#中解决插入数据库的某个字段类型为datetime 为空
- C#中解决插入数据库的某个字段类型为datetime 为空
- C#中解决插入数据库的某个字段类型为datetime 去掉默认值1900-01-01
- 向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))
- c#向数据库中插入xml数据类型的字段
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- C# 插入数据库datetime类型问题
- 请教:数据库字段类型为datatime,请问在.net里怎样转换为datetime类型来插入数据库?
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- mssql datetime smalldatetime 字段类型插入代码
- mysql 数据库字段为datetime类型时默认值为:0000-00-00 00:00:00 查询时异常 java.sql.SQLException:Value '0000-00-00' can not be represented as java.sq
- 解决Entity Framework中DateTime类型字段异常
- 数据库中关于datetime、date 、time数据类型比较,及插入日期时间数据格式
- 根据数据库字段类型返回c#类型函数
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法
- C# 数据批量插入到数据库SqlBulkCopy(源数据类型:List<T> Or DataTable)
- C# 向Webservice传递数值int,decimal..或日期datetime类型是为空null的解决办法