Autor Beitrag
todesengel
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 10.11.08 16:37 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 10.11.08 17:04 
user profile icontodesengel hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile icontodesengel hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile icontodesengel hat folgendes geschrieben Zum zitierten Posting springen:
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):
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 10.11.08 19:08 
Zur Einführung in die DB-Bearbeitung unter NET wollte ich Dich noch auf OpenBook VC# Kap.25 ff. hinweisen. Jürgen