Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Wert aus Dataset in Variable speichern
Guts2 - Di 26.08.08 14:27
Titel: Wert aus Dataset in Variable speichern
verwendetes Datenbanksystem: Access
Hallo Leute, sorry das ich euch hier nerven muß, aber leider hat dich Suchfunktion bei meiner Frage nix gebracht :(
Also ich hab eine Access Datenbank und habe mir in mein C# Programm über eine gespeicherte Procedure zu einem Benutzernamen das Benutzerpassword geben lassen und hab es nun in einem DataSet drin. Jetzt will ich das Password in eine Variable speichern, damit ich es mit der Eingabe des Benutzers vergleichen kann. Aber ich bekomme es nicht hin.
Alle Lösungen die ich gefunden habe laufen über eine DataTabelle, aber meine Versuche die Daten vom DataSet zu einer DataTabelle zu bekommen sind schief gelaufen.
Wie kann ich jetzt auf meine einziges zurückgeliefertes Password zugreifen?
Gruß Guts2
Kha - Di 26.08.08 14:41
:welcome:
Für einen einzelnen Wert brauchst du kein DataSet. Erstelle stattdessen ein OleDbCommand und benutze ExecuteScalar.
PS: Ich hoffe mal, in der DB sind nur die Hashes der PWs drin ;) .
Guts2 - Di 26.08.08 15:04
Danke für den Tip, aber wie wende ich den an? Mein Code sa so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| OleDbCommand cmd = new OleDbCommand("[PWAusgabe]", conn); cmd.CommandType = CommandType.StoredProcedure;
OleDbParameter Benutz1 = new OleDbParameter("@Benutzername", OleDbType.Char); Benutz1.Direction = ParameterDirection.Input; Benutz1.Value = Benutzer; cmd.Parameters.Add(Benutz1);
OleDbDataAdapter da = new OleDbDataAdapter(cmd); DataSet ds = new DataSet(); try { conn.Open(); da.Fill(ds, "PWUebergabe"); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } |
Wie müsstes das dann nach dem Tip aussehen?
Moderiert von
Kha: C#-Tags hinzugefügt
Guts2 - Di 26.08.08 15:44
Hab das Problem jetzt gelöst. Danke nochmal für den Tip
lothi - Di 26.08.08 15:45
Hallo
Ich glaube Kah meint das so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| OleDbCommand cmd = new OleDbCommand("[PWAusgabe]", conn); cmd.CommandType = CommandType.StoredProcedure;
OleDbParameter Benutz1 = new OleDbParameter("@Benutzername", OleDbType.Char); Benutz1.Direction = ParameterDirection.Input; Benutz1.Value = Benutzer; cmd.Parameters.Add(Benutz1); string benutzer = myCommand.ExecuteScalar(); |
Zum andern Problem. Um an deine Daten zu kommen musst du über DataTable gehen. Das DataSet enhält eine oder mehrer Tabellen DataTable.
C#-Quelltext
1: 2: 3: 4:
| foreach(DataTables tbl in ds.Tables) { Console.WriteLine("Tabellenname: {0}", tbl.TableName); } |
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!