CSharp - Queries an MSSQL DB in einer rekursiven Funktion
Hallo,
ich habe mal wieder ein kleines Problem. Ich habe auf unserem MSSQL Server eine DB mit einer Tabelle. Diese Tabelle stellt eine Ordnerstruktur mit Referenz auf sich selbst dar.
Wie kriege ich das nun richtig mit c# ausgelesen? Mein aktueller code lautet:
Ich kriege die Exception (steht auch so in der Doku) dass reader zunächst geschlossen sein muss bevor er erneut benutzt werden kann. Wie muss ich meine Funktion jetzt aufbauen? Google jetzt schon fast den ganzen Nachmittag ohne dass ich etwas gefunden habe. Das ist das erste Mal dass ich mit c# auf einen Datenbank Server zugreife und finde das leider alles etwas verwirrend.
Vielen Dank
ich habe mal wieder ein kleines Problem. Ich habe auf unserem MSSQL Server eine DB mit einer Tabelle. Diese Tabelle stellt eine Ordnerstruktur mit Referenz auf sich selbst dar.
[folder]
idfolder (int)
fitopfolder (int)
dtname
Wie kriege ich das nun richtig mit c# ausgelesen? Mein aktueller code lautet:
private void GetSubFolders(String folderid) {
SqlCommand SelectCommand = new SqlCommand("SELECT idfolder, dtname FROM folder WHERE fitopfolder='" + folderid.ToString() + "' ORDER BY dtname ASC", sqlconnection);
SqlDataReader reader = SelectCommand.ExecuteReader();
while (reader.Read())
{
GetSubFolders(Convert.ToString(reader.GetValue(0));
}
reader.Close();
}
Ich kriege die Exception (steht auch so in der Doku) dass reader zunächst geschlossen sein muss bevor er erneut benutzt werden kann. Wie muss ich meine Funktion jetzt aufbauen? Google jetzt schon fast den ganzen Nachmittag ohne dass ich etwas gefunden habe. Das ist das erste Mal dass ich mit c# auf einen Datenbank Server zugreife und finde das leider alles etwas verwirrend.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177472
Url: https://administrator.de/forum/csharp-queries-an-mssql-db-in-einer-rekursiven-funktion-177472.html
Ausgedruckt am: 21.12.2024 um 15:12 Uhr
6 Kommentare
Neuester Kommentar
Zitat von @vorstieg:
Hi
> Speicher doch die Daten in einer List und schließ den reader bevor du sie Funktion erneut aufrufst.
Gruß
Hi
> Speicher doch die Daten in einer List und schließ den reader bevor du sie Funktion erneut aufrufst.
Gruß
Würde ich auch so machen.
Dann hast du auch immer nur eine aktive DB-Verbindung und nicht mehrere, in Abhängigkeit von deiner Schachtelungstiefe.
schau dir mal http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx an, das hilft dir vielleicht weiter.
Mit TreeViews hab ich selber nicht gearbeitet.
Gruß
Mit TreeViews hab ich selber nicht gearbeitet.
Gruß