Benutzer mit den meisten Antworten
Trennzeichen bei Split aus DB

Frage
-
Hi Forum,
ich möchte eine txt Datei mit Split "zerlegen". Allerdings sind die Vorgaben in einer SQL DB gespeichert. Der Pfad, das Trennzeichen und die Encoding erweiterung.
Nun habe ich ein Problem beim Zerlegen der txt Zeile.
Ich lade die Vorgaben in ein Datatable aus der ich dann die Vorgaben verwenden möchte.
Der Code :
string line; char[] trenner = { ';' }; label6.Text = tabel.Rows[0]["txtTrennZei"].ToString(); System.IO.StreamReader file = new System.IO.StreamReader(tabel.Rows[0]["Quelle"].ToString(), System.Text.Encoding.UTF7);
....
wie kann ich >>
tabel.Rows[0]["txtTrennZei"].ToString();
<< dem
char[] trenner = { ';' };
zuweisen ?
und wie kann ich beim Streamreader das UTF7 durch >>
tabel.Rows[0]["EncodeType"].xxxx
<< ersetzen
Gruß Roland
- Bearbeitet Robert Breitenhofer Montag, 26. Juli 2010 15:15 Formatierung
Antworten
-
Hallo Roland,
da Datenbanken im allgemeinen Zeichenketten - der DataColumn.DataType ist String)
und kein einzelnes Char liefern, wäre das erledigt mit:char[] trenner = new char[] { ((string)tabel.Rows[0]["txtTrennZei"])[0] };
Übersichtlicher für den Anfang wird es, wenn man es aufdröselt:
DataRow row = tabel.Rows[0]; string trennZeichen = (string)row["txtTrennZei"]; char[] trenner = new char[] { trennZeichen[0] };
Im übrigen ist Encoding.UTF7 mit sehr hoher Wahrscheinlichkeit verkehrt,
da es weder von .NET noch von Windows im Standard verwendet wird.Wie schon im anderen Thread von Thorsten genannt, wird die Windows-Kodierung
(ANSI => 8 Bit) mit Encoding.Default und gilt in den vielen Fällen,
wo die Datei durch ein älteres Windows Programm geschrieben bzw. gelesen wird.Gruß Elmar
- Als Antwort vorgeschlagen Robert Breitenhofer Montag, 26. Juli 2010 15:16
- Als Antwort markiert Robert Breitenhofer Dienstag, 27. Juli 2010 11:30
Alle Antworten
-
Hallo Roland,
da Datenbanken im allgemeinen Zeichenketten - der DataColumn.DataType ist String)
und kein einzelnes Char liefern, wäre das erledigt mit:char[] trenner = new char[] { ((string)tabel.Rows[0]["txtTrennZei"])[0] };
Übersichtlicher für den Anfang wird es, wenn man es aufdröselt:
DataRow row = tabel.Rows[0]; string trennZeichen = (string)row["txtTrennZei"]; char[] trenner = new char[] { trennZeichen[0] };
Im übrigen ist Encoding.UTF7 mit sehr hoher Wahrscheinlichkeit verkehrt,
da es weder von .NET noch von Windows im Standard verwendet wird.Wie schon im anderen Thread von Thorsten genannt, wird die Windows-Kodierung
(ANSI => 8 Bit) mit Encoding.Default und gilt in den vielen Fällen,
wo die Datei durch ein älteres Windows Programm geschrieben bzw. gelesen wird.Gruß Elmar
- Als Antwort vorgeschlagen Robert Breitenhofer Montag, 26. Juli 2010 15:16
- Als Antwort markiert Robert Breitenhofer Dienstag, 27. Juli 2010 11:30