【发布时间】:2018-11-14 15:39:59
【问题描述】:
我在数据库记录 1 和记录 2 中有两条记录。数据读取器将返回记录 1 的 guid 值,并且代码工作正常。但在记录 2 上,datareader 将返回“”。我的问题是如何添加 String Empty 没有例外,这两个选项都错误。 立竿见影
?dataReader["Id"].GetType().FullName
"System.Guid"
代码
while (dataReader.Read())
{
d.id = new Guid(dataReader["Id"].ToString());
//Guid.TryParse(dataReader["Id"]?.ToString(), out d.Id)
}
【问题讨论】:
-
Guid.TryParse有什么问题? -
在调用 .ToString() 之前检查数据读取器中的对象是否为空:
if (dataReader["Id"] != DBNull.Value) { d.id = new Guid(dataReader["Id"].ToString()); }.
标签: c# guid sqldatareader