日期转换问题

woshimaikou 2010-02-05 11:46:41

Gbook gbook = new Gbook();
gbook.Id = (int)row["id"];
gbook.Title = (string)row["title"];
gbook.Content = (string)row["content"];
gbook.Name = (string)row["name"];
gbook.Addtime = (DateTime)row["addtime"];
typeId = (int)row["type"];
gbook.StringType = TypeServer.GetTypeById(typeId);
gbook.Recontent = row["recontent"].ToString();
gbook.Rename = row["rename"].ToString();
gbook.Retime = row["retime"];
list.Add(gbook);
倒数第二行
当数据库中retime为空时报错!用了很多装换都不好使啊!
怎么当空时返回也是空呢
...全文
153 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yasire 的回复:]
首先你要判断这个字段的值不是Null,然后Convert.ToDateTime(row["retime"])就好了。
你的问题关键不在转换,而在是否为空。
[/Quote]

如果是空 那返回的该是一个什么值呢?才能赋给 datetime 类型的 变量
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
回复所有:现在报错:该字符串未被识别为有效的 DateTime
lzsh0622 2010-02-05
  • 打赏
  • 举报
回复
if (row["retime"].ToString() == "")
gbook.Retime = DBNull.Value;
else gbook.Retime = DateTime.Parse(row["retime"].ToString());


CalvinDo 2010-02-05
  • 打赏
  • 举报
回复
迷糊了。。
CalvinDo 2010-02-05
  • 打赏
  • 举报
回复

if(row["retime"] != null)
{
gbook.Retime = (DateTime)row["retime"];
}

CalvinDo 2010-02-05
  • 打赏
  • 举报
回复

if(row["retime"].ToString() != "")
{
gbook.Retime = (DateTime)row["retime"];
}
lianglei9810 2010-02-05
  • 打赏
  • 举报
回复
gbook.Retime = row["retime"]==DBNull.Value?"":row["retime"];

gbook.Retime = row["retime"]==DBNull.Value?"":DataTime.prase(row["retime"].toString);
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 calvindo 的回复:]
gbook.Retime =DateTime.Parse(row["retime ]);
[/Quote]
不行啊!我的gbook.Retime也是datatime类型的
yasire 2010-02-05
  • 打赏
  • 举报
回复
首先你要判断这个字段的值不是Null,然后Convert.ToDateTime(row["retime"])就好了。
你的问题关键不在转换,而在是否为空。
MOmo400 2010-02-05
  • 打赏
  • 举报
回复
[Code=C#]
if(DBNull.Value==row["rename"])
{
gbook.Rename =string.Empty;
}
else
{
gbook.Rename = row["rename"].ToString();
}
[/Code]
RHCL 2010-02-05
  • 打赏
  • 举报
回复

if(row["retime"]!=null && row["retime"]!=DBNull.Value){
gbook.Retime=(DateTime)row["retime"];
}
ck11926375 2010-02-05
  • 打赏
  • 举报
回复
if (row["retime"].ToString() == "")
gbook.Retime = null;
else
gbook.Retime = row["retime"];
mamudelingling 2010-02-05
  • 打赏
  • 举报
回复
row["addtime"]!=DBNull.Value判断
CalvinDo 2010-02-05
  • 打赏
  • 举报
回复
gbook.Retime =DateTime.Parse(row["retime ]);
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
算了!用别的方法吧!结贴
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 woshimaikou 的回复:]
用 datetiem ? now=null; 也是一样啊
[/Quote]
不可以的!null 无转换为 datetime
lixiangwoaini1314 2010-02-05
  • 打赏
  • 举报
回复
DateTime.Parse(gbook.Retime) = DateTime.Parse(row["retime"]);
jenny0810 2010-02-05
  • 打赏
  • 举报
回复
3#可以
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
用 datetiem ? now=null; 也是一样啊
woshimaikou 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zzm1219 的回复:]
Nullable <DateTime> now = null;
[/Quote]
无法将 system.datetime?隐式转换为system.datetime
加载更多回复(1)

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧