ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
2309
2309
EMPFEHLEN
-
21.12.07 11:21 #1
- Registriert seit
- Dec 2007
- Beiträge
- 6
Hallo liebe Community,
ich verwende zum kontaktieren meiner Datenbank die OleDB funktionen. Ich habe eine funktion die alle Reihen einer Tabelle durchgeht und von jeder eine bestimmte Spalte ausliest und in ein array speichert, diese funktion funktioniert auch sehr gut, ich habe sie unten gepostet!
Nun möchte ich aber noch eine funktion, der man sagen muss welche Zeile aus einer datenbank sie komplett auslesen soll. Zum beispiel gibt man an MySQLQueryMakeArrayOf (Query)
dann deklariert man im code z.B. string[] userdata = MySQLQueryMakeArrayOf ("SELECT * FROM `users` WHERE `ID` = '1'")
Nun soll man mit userdata[Password] das Passwort des Users ausgeben können, oder userdata[Username] den usernamen, da ja alles über den User mit der ID 1 in das Array geschoben werden soll und so ansprechbar sein soll.
Ist das überhaupt möglich?
Hier die funktion die ich oben genannt habe:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
internal string[] RunMySQLQuery(string TheQuery, string ColumnName) { try { //string TempData = ""; System.Collections.ArrayList TmpArray = new System.Collections.ArrayList(); MySQL_Command = new System.Data.OleDb.OleDbCommand(TheQuery, MySQL_Connector); MySQL_Data_Reader = MySQL_Command.ExecuteReader(); while (MySQL_Data_Reader.Read()) TmpArray.Add(MySQL_Data_Reader[ColumnName].ToString()); MySQL_Data_Reader.Close(); return (string[])TmpArray.ToArray(typeof(string)); } catch (System.Data.OleDb.OleDbException ex) { return new string[10]; } finally { MySQL_Data_Reader.Close(); } }
-
21.12.07 12:45 #2
- Registriert seit
- Jan 2005
- Ort
- Frankfurt am Main
- Beiträge
- 297
Hohoho

Du kannst auf ein Array nur über die Indizes zugreifen. Das, was du suchst, ist eine KeyedCollection (Hashtable/Dictionary), irgendwas, was KeyValuePairs verwaltet.
Wenn du deine Abfrage gegen die Datenbank feuerst musst du in der Funktion, welche die Daten in die KeyedCollection schreibt, den Namen der Spalte und den Wert der Methode Add übergeben -> MeineCollection.Add('Spaltenname', 'Wert der Spalte').
Jetzt kannst du über MeineCollection["Key"] den Wert ausgeben lassen
-
21.12.07 17:46 #3
- Registriert seit
- Dec 2007
- Beiträge
- 6
ah hmm also ich dachte über eine solche funktion nach, weil es sicher länger dauern würde die querys einzeln auszuführen, wie seht ihr das denn?
Soll ich jede spalte der userdaten einzeln deklarieren oder eine solche KeyedCollection verwenden? Könnte mir dann jemand meine gepostete funktion so ändern, dass sie das array richtig erstellt + einer guten keyedcollection klasse
Ähnliche Themen
-
MySQL: Ergebnis in einer Zeile angeben.
Von DenisCGN im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 04.10.10, 20:04 -
Was mach ich falsch beim Löschen einer ganzen Zeile aus einer Datei?
Von zecken81 im Forum .NET CaféAntworten: 5Letzter Beitrag: 29.06.08, 17:46 -
[c++] In bestimmte Zeile einer Datei schreiben
Von Bertelcraft im Forum C/C++Antworten: 2Letzter Beitrag: 11.11.07, 09:42 -
Summe nicht in jede zeile schreiben(php,mysql)
Von DarkZeratul im Forum PHPAntworten: 7Letzter Beitrag: 03.05.06, 10:50 -
array in einer Zeile
Von low-group im Forum PHPAntworten: 6Letzter Beitrag: 21.08.04, 23:38





Zitieren
Login





