Autor Beitrag
Mr.y
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 28.06.10 08:44 
hallo, ich habe eine Funktion, wo ein DataSet als Rückgabewert arbeitet.
Nun habe ich aus einer TXT-Datei was ausgelesen und möchte nun
diese Zeichenfolge, also String irgendwie an diesen DataSet anbinden :?

Wie kann ich das hinkriegen? irgendwie fand ich nur ein Wirrwar in google :(

Danke schon mal :)
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 28.06.10 12:09 
So kommst du auch nicht weiter, weil ein DataSet nichts mit einem String anfangen kann.

Ein DataSet enthält DataTables; du brauchst also zunächst die "richtige" DataTable. Eine einzelne DataTable besteht aus einer Anzahl Spalten und einer Menge Zeilen. Vermutlich ist DataTable.Rows.Add() das richtige Vorgehen; also brauchst du eine passende DataRow. Diese besteht aus den Werten für die einzelnen Spalten; diese musst du also aus dem String herausholen.

Ohne zu wissen, wie der String aussieht, kann man nicht mehr sagen. Eine denkbare Lösung geht etwa so:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
string[] values = line.Split();
DataRow row = myTable.NewRow();
row["ID"] = values[0];    // aber aufpassen wegen Konvertierungsproblemen
row["Name"] = values[1];
// usw.
row.EndEdit();
myTable.Rows.Add(row);

Gruß Jürgen

PS. Unter C# gibt es keine Funktionen, sondern nur Methoden.

Für diesen Beitrag haben gedankt: Mr.y
Mr.y Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 28.06.10 14:24 
Danke dir für deine Antwort,

Ja, es ist mir erst danach aufgefallen, dass DataSet und String nicht zusammenpassen,
Darum ist da eine Textbox geeigneter

um dein Lösungsvorschlag auszuführen, wäre das ziemlich umständlich und viel code.....
ich hab das einfach so gemacht:

ausblenden C#-Quelltext
1:
ArrayList[0].Add(String.split('Zeichen'));					


und dann mit Property {get} das den Array an die Oberfläche geholt

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt
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 28.06.10 20:20 
Vergiss ganz schnell ArrayList, sondern benutze eine passende List<T>, hier vermutlich eine List<string>. ArrayList gehört in die Mottenkiste, stattdessen sind die generischen Listen das Mittel der Wahl.

Mir ist auch nicht klar, was du mit dem Add an Position 0 erreichen willst. Aber da du dich zu allen Details ausschweigst, kann ich mich dabei nur wundern, aber nichts vorschlagen.

Jürgen