我将尝试从数据库中获取一些组织数据。我需要更多的数据,但我只能获得组织名称和组织地址。我正在尝试执行一个涉及连接的查询,并创建一个对象,该对象是我创建的自定义类的列表。奇怪的是,如果我在while循环中注释掉代码,只获取组织的名称,它就可以工作,但是一旦我尝试创建一个对象列表,它就无法正常工作。
以下是我的代码,从我的类开始:
运行这段代码会导致orgName.Count和OrgObject.Count大约为20。
如果我只是注释掉...
以下是我的代码,从我的类开始:
namespace FFDFrameWorkPart
{
public class OrgData
{
public string orgName { get; set; }
public string orgAddress { get; set; }
}
}
List<OrgData> OrgObject = new List<OrgData>();
List<string> orgName = new List<string>();
using (SqlConnection connection = new SqlConnection(connectString))
{
connection.Open();
SqlCommand GrabOrgsFromDb = new SqlCommand(getConstitData, connection);
SqlDataReader reader = GrabOrgsFromDb.ExecuteReader();
try
{
while (reader.Read())
{
orgName.Add(reader.GetString(0));
OrgObject.Add(new OrgData()
{
orgName = reader.GetString(0),
orgAddress = reader.GetString(1)
});
}
}
catch (Exception ex)
{
consoleLog.Value = ex.ToString();
}
finally
{
reader.Close();
}
}
运行这段代码会导致orgName.Count和OrgObject.Count大约为20。
如果我只是注释掉...
OrgObject.Add(new OrgData()
{
orgName = reader.GetString(0),
orgAddress = reader.GetString(1)
});
然后 orgName.Count 跳到了大约 28,000。没有必要对代码进行其他更改,只需注释我尝试构建列表的位置,就可以从结果中丢失约 28,000 条记录。
编辑:它在一个字段中击中了空值并停止了。