C#中解决插入数据库的某个字段类型为datetime 为空
2011-04-14 16:38
399 查看
今天在做项目的时候发现了一个,以前可能没注意到,添加时间的时候,有的是强制输入,还有的是默认为当前时间或者再数据库里指定默认值为(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 为空
- C#中解决插入数据库的某个字段类型为datetime 去掉默认值1900-01-01
- C#中解决插入数据库的某个字段类型为datetime 为空
- C#中解决插入数据库的某个字段类型为datetime 去掉默认值1900-01-01
- 请教:数据库字段类型为datatime,请问在.net里怎样转换为datetime类型来插入数据库?
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法
- 向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))
- c#向数据库中插入xml数据类型的字段
- C# 插入数据库datetime类型问题
- 关于在mysql数据库命令行中无法插入Text数据类型字段的解决方法
- java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
- 数据库中的字段类型对应C#的变量类型
- 数据库中字段类型对应的C#中的数据类型
- 【已解决】oracle数据中,插入clob类型字段遇到的问题
- 解决:c#中获取刚插入SQL SERVER的自动编号字段值。
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法 .
- 解决SQL Server 2005数据库中datetime时间字段在前端显示时分秒的问题
- java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法