Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Daten einer Datenbank in eine Array speichern?
todesengel - Mo 10.11.08 16:37
Titel: Daten einer Datenbank in eine Array speichern?
Ich würde gerne eine Suchfunktion programmieren. Deshalb möche ich jetzt zuerst alle Daten von der Datenbank in Variablen speichern und diese dann durchsuchen lassen.
Zuerst habe ich eine Datenbank-Abfrage gemacht, mit welcher mir die benötigte Tabelle und die erste Spalte ausgwählt wird. Nun möchte ich die Daten die in dieser Spalte der Tabelle stehen in eine Variable umspeichern. Ich habe mir gedacht, dass das mit einem Array funktionieren müsste, habe diesen auch deklariert vom Typen string. Nun ist aber meine Frage: Wie bekomme ich die Daten in der ersten Spalte in den Array? bzw geht das überhaupt?
JüTho - Mo 10.11.08 17:04
Titel: Re: Daten einer Datenbank in eine Array speichern?
todesengel hat folgendes geschrieben : |
Ich würde gerne eine Suchfunktion programmieren. Deshalb möche ich jetzt zuerst alle Daten von der Datenbank in Variablen speichern und diese dann durchsuchen lassen. |
Wozu soll das nützlich sein? Alles, was Du willst, kannst Du direkt mit den Tabellen machen.
Was verstehst Du eigentlich unter "in Variablen speichern"? Eine Variable ist ein Bezeichner für eine Instanz einer Klasse. Beides verweist an eine bestimmte Stelle im Arbeitsspeicher, und dort stehen Daten, sobald eine Instanz einer Klasse erzeugt worden ist. Dann hast Du auf die Daten soweit Zugriff, wie es diese Klasse vorsieht, und brauchst nichts umzuspeichern.
todesengel hat folgendes geschrieben : |
Zuerst habe ich eine Datenbank-Abfrage gemacht, mit welcher mir die benötigte Tabelle und die erste Spalte ausgwählt wird. Nun möchte ich die Daten die in dieser Spalte der Tabelle stehen in eine Variable umspeichern. |
Also stehen alle Daten in einer
DataTable. Mit Zugriff auf diese DataTable kannst Du alles machen, was eine DataTable ermöglicht - auch
Select. Als Ergebnis kann auch
DataView sehr nützlich sein.
todesengel hat folgendes geschrieben : |
Ich habe mir gedacht, dass das mit einem Array funktionieren müsste, habe diesen auch deklariert vom Typen string.
Nun ist aber meine Frage: Wie bekomme ich die Daten in der ersten Spalte in den Array? bzw geht das überhaupt? |
Das ist möglich, wäre aber eher Quatsch. Alle Daten stehen in
DataTable.Rows; die Werte einer einzelnen Zeile stehen in der jeweiligen Spalte. Du müsstest also alle Werte der n-ten Spalte manuell in ein Array übertragen (vorausgesetzt, es ist eine string-Spalte):
C#-Quelltext
1: 2: 3: 4:
| int rowCount = myTable.Rows.Count; string[] values = new string[rowCount]; for(int x1 = 0; x1 < rowCount; x1++) values[x1] = (string)myTable.Rows[x1]["Textspalte"]; |
Es gibt aber keinen Grund, das zu machen. Arrays sind unflexibel, aber mit DataTable, DataRow, DataColumn, DataView hast Du alle Möglichkeiten.
Jürgen
PS. Ich finde es immer wieder erstaunlich, auf was für seltsame Nicknames Forumsnutzer kommen.
todesengel - Mo 10.11.08 18:16
Danke für deine Antwort :)
Hm in diesem Fall habe ich wohl ein bisschen zu kompliziert gedacht. Kenne mich einfach zu wenig aus, als dass ich gleich auf die richigen Ideen komme. Ich werde es jetzt mit DataTable versuchen, habe es auch schon versucht, doch mein Programmierwissen reicht nicht wirklich, aber danke, dass du mich von einer komplizierten "Array-Programmierung" abgehalten hast +gg+
PS: Ich wundere mich immer wieder über die unkreativen Nicknames vieler User :P
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!