2016-08-02 49 views
1

我有一个Web服务接收一个列表,在某些情况下,某些列可以为空,当我尝试在列表中插入空值时出现错误。 “列为空”。我如何可以在列表中插入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** 

回答

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); 
0

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

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