【发布时间】:2012-03-12 23:13:24
【问题描述】:
更新 1:
在这一行抛出异常:
client_group_details.Add(new ClientGroupDetails(
原始问题:
我有以下代码,我已将数据库中的 30 列数据精简为数据库中的 2 列。每当任何列返回 NULL 值时,我都会收到错误:
public class ClientGroupDetails
{
public String Col2;
public String Col3;
public ClientGroupDetails(String m_Col2, String m_Col3)
{
Col2 = m_Col2;
Col3 = m_Col3;
}
public ClientGroupDetails() { }
}
[WebMethod()]
public List<ClientGroupDetails> GetClientGroupDetails(string phrase)
{
var client_group_details = new List<ClientGroupDetails>();
using (connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
{
using (command = new SqlCommand(@"select col2, col3 where col1 = @phrase", connection))
{
command.Parameters.Add("@phrase", SqlDbType.VarChar, 255).Value = phrase;
connection.Open();
using (reader = command.ExecuteReader())
{
int Col2Index = reader.GetOrdinal("col2");
int Col3Index = reader.GetOrdinal("col3");
while (reader.Read())
{
client_group_details.Add(new ClientGroupDetails(
reader.GetString(Col2Index),
reader.GetString(Col3Index)));
}
}
}
}
return client_group_details;
}
我得到的错误是:
数据为空。不能对 Null 值调用此方法或属性。
我不确定如何处理 NULL 值,因为上面的代码是精简版。
有人知道如何解决这个问题吗?
【问题讨论】:
-
代码的哪一行导致异常被抛出?异常的类别是什么(例如
ArgumentNullException)? -
看来你不是第一个得到这种异常并发布它的人。有人在使用 TFS 时发现了这种问题,具体的异常类型是
SqlNullValueException(参见social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/…)。 -
这不是数据库意义上的
NULL。这是一个null,表示引用没有价值。您看到的确切异常是什么?ArgumentNullException? -
我在
client_group_details.Add(new ClientGroupDetails(上遇到了异常
标签: c# .net-3.5 c#-3.0 asmx asp.net-3.5