Ich versuche, einige Organisationsdaten aus einer Datenbank abzurufen. Ich brauche noch ein paar Daten, aber ich stecke nur an den Organisationsnamen und die Adresse der Organisation. Ich versuche, eine Abfrage auszuführen, die eine Verknüpfung enthält, und ein Objekt zu erstellen, bei dem es sich um eine Liste einer benutzerdefinierten Klasse handelt, die ich erstellt habe. Das Seltsame ist, wenn ich den Code in meiner while-Schleife kommentiere und nur den Namen der Orgs bekomme, funktioniert es, aber sobald ich versuche, eine Liste von Objekten zu erstellen, tut es das nicht. HierSqlDataReader gibt beim Hinzufügen zur Liste nicht alle Zeilen zurück <MyClass>
ist, was ich habe, mit meiner Klasse beginnen:
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();
}
}
ausgeführt wird, der Code führt orgName.Count und OrgObject.Count in der Nachbarschaft von 20.
sein, wenn ich einfach auskommentieren
OrgObject.Add(new OrgData()
{
orgName = reader.GetString(0),
orgAddress = reader.GetString(1)
});
Dann springt orgName.Count auf etwa 28.000. Keine andere Änderung am Code ist notwendig, nur kommentieren, wo ich versuche, meine Liste zu bauen, und ich verliere rund 28.000 Datensätze aus meinen Ergebnissen.
EDIT: Es ist ein Nullwert in einem der Felder schlagen und Stoppen
Gibt es ein Problem in der Datenquelle auf Spalte 1 der 21. Reihe Rekord? Es würde dann die Schleife brechen. – ydoow
Da war, danke. – reggieb