CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

如何设置DateTime的值为NULL?myCommand.Parameters.Add("@arrivalTime", null);

楼主linubert()2005-06-03 15:38:47 在 .NET技术 / C# 提问

myCommand.Parameters.Add("@arrivalTime",   null);  
  报:未设置@arrivalTime错误,  
   
  如果:  
  myCommand.Parameters.Add("@arrivalTime",   "null");  
  又报无法将字符串转成DateTime错误  
   
   
  问题点数:100、回复次数:9Top

1 楼songhtao(三十年孤独)回复于 2005-06-03 15:44:13 得分 5

myCommand.Parameters.Add("@arrivalTime",   "");Top

2 楼hjf1223(阿不)回复于 2005-06-03 15:45:28 得分 5

可以存储过程给这个参数置一下默认值,这样你就可以根据你需要决定是否传入这个以参数。  
  还有另一种办法就是给参数传一个在你程序中不可能出现的时期,如1000-01-01,在过程里面判断。  
   
  不知道还有没有更好的办法了。Top

3 楼karykwan(独行者)回复于 2005-06-03 15:46:24 得分 39

转一下:  
  private   object   objTime;  
   
  if   (this.DateTimeCtrl.Enable)  
  {  
          objTime   =   this.DateTimeCtrl.Value  
  }  
  else  
  {  
          objTime   =   DbNull.Value;  
  }  
   
  string   strsql="insert   into   tBillMGR   (alarmtime,sendtime)   values(@alarmtime,   @sendtime);  
  SqlParameter   p1   =   new   SqlParameter("@alarmtime",   objTime);  
  SqlParameter   p2   =   new   SqlParameter("@sendtime",   objTime);  
   
  SqlCommand   cm   =   new   SqlCommand(strSql,   con);  
  cm.Parameters.Add(p1);  
  cm.Parameters.Add(p2);  
  cm.ExecuteNoQuery();  
  Top

4 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-06-03 15:46:27 得分 5

http://blog.joycode.com/lostinet/archive/2004/09/07/32745.aspxTop

5 楼karykwan(独行者)回复于 2005-06-03 15:46:49 得分 20

private   object   objTime;  
   
  if   (this.DateTimeCtrl.Enable)  
  {  
          objTime   =   this.DateTimeCtrl.Value  
  }  
  else  
  {  
          objTime   =   DbNull.Value;  
  }  
   
  string   strsql="insert   into   tBillMGR   (alarmtime,sendtime)   values(@alarmtime,   @sendtime);  
  SqlParameter   p1   =   new   SqlParameter("@alarmtime",   objTime);  
  SqlParameter   p2   =   new   SqlParameter("@sendtime",   objTime);  
   
  SqlCommand   cm   =   new   SqlCommand(strSql,   con);  
  cm.Parameters.Add(p1);  
  cm.Parameters.Add(p2);  
  cm.ExecuteNoQuery();  
  Top

6 楼hjf1223(阿不)回复于 2005-06-03 15:46:57 得分 1

myCommand.Parameters.Add("@arrivalTime",   "");  
   
  ///  
  这样应该也不行吧?空符串应该也会出错吧?Top

7 楼alexzhang00(三角猫)回复于 2005-06-03 15:49:05 得分 20

DBNull.ValueTop

8 楼judy_wane(小依达)回复于 2005-06-03 15:56:30 得分 5

表中的DATETIME字段是否可以为空呢???如果可以的话就用DBNull.Value  
  不行的话就可以在存储过程里面给它默认值!!Top

9 楼builder666666(nj)回复于 2005-06-03 17:00:38 得分 0

用DBNull.Value就可以了  
  Top

相关问题

  • datetime
  • this==NULL???
  • 请问在.net(winform)中怎么给DateTime类型的变量赋null值?
  • 如何在SQL里datetime类型插入一个空值.不要NULL
  • to :nononono(null,null)
  • nononono(null,null)!!!!
  • javax.ejb.NoSuchObjectLocalException: null; CausedByException is:null
  • a==null 和 a is null
  • 请问大家是如何解决sql 数据库字段设为 datetime ,默认为 null, c#里datagrid读出来确是1900-1-1的问题的?
  • Test(NULL)

关键词

  • null
  • arrivaltime
  • objtime
  • alarmtime
  • sendtime
  • datetimectrl
  • mycommand
  • sqlparameter
  • cm
  • parameters

得分解答快速导航

  • 帖主:linubert
  • songhtao
  • hjf1223
  • karykwan
  • LoveCherry
  • karykwan
  • hjf1223
  • alexzhang00
  • judy_wane

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo