来自List中查询的Null值

时间:2016-08-02 09:21:35

标签: c# sqldatareader

我有一个Web服务接收一个列表,在某些情况下某些列可以为null,当我尝试在我的列表中插入Null值时出现错误。 "列为空"。如果某些列为空,我如何在列表中插入NULL值?

  dr = cmd.ExecuteReader();
  List<ClientData> myList = new List<ClientData>();
  while (dr.Read())
   {
     ClientData client = new ClientData();
     client.clientId = dr.GetString(0);
     client.ClientName = dr.GetString(1); **---> NULL VALUE**

2 个答案:

答案 0 :(得分:1)

使用DbDataReader.IsDBNull

while (dr.Read())
{
 ClientData client = new ClientData();
 client.clientId = dr.GetString(0);
 if(dr.IsDbNull(1))
     client.ClientName = null; 
 else
     client.ClientName = dr.GetString(1); 

答案 1 :(得分:0)

在调用转换方法之前,您可以检查它是否为null:

client.ClientName = dr.IsDBNull(1) ? null : dr.GetString(1);