C# SQLDataReader如何检查空列值?
我正在使用SQLDataReader将列数据插入字符串[] 但是,某些列值为空。我有点不确定如何检查这一点,因为当我检查reader[column_pos]时,它会显示值为“n/a” 我可以执行哪些检查,以便执行以下操作:C# SQLDataReader如何检查空列值?,c#,.net,ado.net,sqlclient,C#,.net,Ado.net,Sqlclient,我正在使用SQLDataReader将列数据插入字符串[] 但是,某些列值为空。我有点不确定如何检查这一点,因为当我检查reader[column_pos]时,它会显示值为“n/a” 我可以执行哪些检查,以便执行以下操作: for(int i=0; i<myarray.Length;i++){ if(something){ myarray[i] = reader[i]; } else { myarray[i] = "";
for(int i=0; i<myarray.Length;i++){
if(something){
myarray[i] = reader[i];
}
else
{
myarray[i] = "";
}
}
for(int i=0;i您可以使用
for(int i=0;i您可以使用
对于(int i=0;i您也可以使用if(reader[0]==DBNull.Value)
。如果您可以控制查询的运行,您也可以使用SQLISNULL(field,default\u Value)
函数来确保列返回值
对于C#您也可以使用if/else速记:
myArray[i] = (reader[i] == DBNull.Value) ? "" : reader[0];
这转换为:如果读卡器值为DBNULL
,则使用”
,否则使用读卡器值。您也可以使用If(reader[0]==DBNULL.value)
。如果您可以控制查询的运行,您也可以使用SQLISNULL(字段,默认值)
函数以确保列返回值
对于C#您也可以使用if/else速记:
myArray[i] = (reader[i] == DBNull.Value) ? "" : reader[0];
这转换为:如果读取器值为DBNULL
,则使用“”
,否则使用读取器值。类具有该属性
您可以按如下方式编写代码:
for(int i=0; i<myarray.Length;i++){
if(myReader.IsDBNull(i)){
myarray[i] = "";
}
else
{
myarray[i] = reader[i];
} }
for(int i=0;i类具有该属性
您可以按如下方式编写代码:
for(int i=0; i<myarray.Length;i++){
if(myReader.IsDBNull(i)){
myarray[i] = "";
}
else
{
myarray[i] = reader[i];
} }
for(int i=0;i
myarray[i] = reader.IsDBNull(i) || reader[i] == DBNull.Value ? string.Empty : reader[i];