C# 无法强制转换类型为';System.DBNull';输入';System.String';
我有一个数据代码来生成一个字符串,它是sb.ToString() 您可以看到有“NULL”导致错误“无法将类型为“System.DBNull”的对象强制转换为类型为“System.String”。 如何修复它?更改循环:C# 无法强制转换类型为';System.DBNull';输入';System.String';,c#,string,datatable,datarow,C#,String,Datatable,Datarow,我有一个数据代码来生成一个字符串,它是sb.ToString() 您可以看到有“NULL”导致错误“无法将类型为“System.DBNull”的对象强制转换为类型为“System.String”。 如何修复它?更改循环: foreach(var obj in row.ItemArray) { if(obj is string) sb.Append(obj as string); } 试试这个: foreach (object str in row.ItemArray) {
foreach(var obj in row.ItemArray)
{
if(obj is string) sb.Append(obj as string);
}
试试这个:
foreach (object str in row.ItemArray)
{
if (DbNull.Value.Equals(str))
sb.Append("NULL");
else
sb.Append(str.ToString());
}
但是听起来像是obj可能是DbNull,而不是null,不是吗?
foreach(var obj in row.ItemArray)
{
if(obj is string) sb.Append(obj as string);
}
foreach (object str in row.ItemArray)
{
if (DbNull.Value.Equals(str))
sb.Append("NULL");
else
sb.Append(str.ToString());
}
if(!row.IsNull("column"))
{
foreach (string str in row.ItemArray)
{
sb.Append(str);
}
}