Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Frage zu Reader Objekt
Felix2000 - Mo 29.08.11 14:44
Titel: Frage zu Reader Objekt
Hi Folks !
Ich habe mal eine Frage zu dem folgenden Code:
C#-Quelltext
1: 2: 3: 4:
| while (reader.Read()) { MessageBox.Show((reader[strColumnName]).ToString()); } |
Hier benenne ich explizit den Spaltenname mithilfe einer Variable, in der die diesen Spaltennamen abgespeichert habe und der in der MessageBox ausgegeben werden sollte. Gibt es in der Klasse Reader evtl. eine methode, mit der ich evtl. eine in Frage kommende Spalte anonymer (z.B. anhand einer Nummer) ansprechen kann? Das würde meinen Code generalisieren. Ich habe leider nichts finden können dazu.
Greetz
Felix
bakachan - Mo 29.08.11 14:50
Da ich keine Ahnung habe zu welcher Klasse dein "reader"-Objekt gehört muss ich mehr oder weniger raten.
Ich gehe hier von einem IDataReader aus:
Du kannst die Spalten auch direkt per Index ansprechen.
Außerdem kannst du mit der GetName-Funktion per Index den zugehörigen Namen erfahren.
Felix2000 - Mo 29.08.11 15:01
Hi Folks !
Es handelt sich hierbei um ein SQLDataReader Objekt, soorry hatte ich vergessen zu erwähnen.
Greetz
Felix
bakachan - Mo 29.08.11 15:28
Für den SQLDataReader sollte meine oben genannte Lösung funktionieren.
Felix2000 - Mo 29.08.11 15:37
Hi Folks !
also ich habe das eben mal mit Getname() versucht, aber leider hat es nicht geklappt.
C#-Quelltext
1: 2: 3: 4:
| while (reader.Read()) { MessageBox.Show((reader[reader.getName(2)]).ToString()); } |
Greetz
Felix
Ralf Jansen - Mo 29.08.11 15:44
Zitat: |
//2 steht hier für die zweite Spale in der Datenabnktabelle |
Nein. Die 2 würde hier für die 3.te Spalte stehen. Indizes beginnen üblicherweise bei 0 für den ersten Eintrag.
An dieser Stelle ist das Umwandeln in den Namen aber überflüssig wenn du denn Index kennst benutz den direkt.
Also einfach
reader[1] für den Wert in der 2.ten Spalte.
dark-destination1988 - Mo 29.08.11 16:25
probiers mal mit eckigen klammern [2]
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!