Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - [Grundlage]Frage zur Mysql Syntax in meinem Programm
Nextlive - Di 19.04.11 14:08
Titel: [Grundlage]Frage zur Mysql Syntax in meinem Programm
Hallo liebe Community,
ich schreibe im Moment ein Programm, welches eine MysqlDatenbank nutzt.
Ich versuch mich gerade an einem Loginsystem.
Erster Schritt ist, dass ich mich mit meiner Datenbank verbinde. Das funktioniert ohne probleme.
Nun möchte ich, wenn der User auf "Login" klickt, dass auf die Datenbanktabelle zugegriffen wird und dort geguckt wird, ob dieser Username existiert. Wenn ja wird das gleiche mit dem PW gemacht. Aber erstmal zum Usernamen
Ok angenommen meine Datenbank heißt Csharpprogramm. Dort existiert eine Tabelle mit dem namen "Benutzerdaten".
Diese Tabelle hat 2 Spalten: "Username" und "Password". Ich möchte jetzt den, aus einer Textbox eingelesenen Usernamestring (gespeichert in Variable sUsername), mit der Tabelle vergleichen und schauen, ob dieser vorhanden ist. Was passiert wenn er nicht vorhanden ist ist erstmal nebensache.
Hier mein Code:
mysqlcmd.CommandText = "Select Username from Benutzerdaten where Username=" + sUsername;
Ich verstehe nicht so ganz was falsch an dem Befehl ist. Ich wähle die Spalte Username aus der Tabelle Benutzerdaten aus und lass ihn nach einem Eintrag "Username="+sUsername suchen.
Jetzt ins praktische:
Ich starte das Programm. Der loginscreen erscheint und ich gebe den Benutzer "Admin" ein(dieser existiert in der DB). Wenn ich nun auf Login klicke, dann erscheint im Debugger "Unknown column 'Admin' in 'where clause'"
Ich versteh nicht ganz den Fehler, den ich gemacht hab :(
Hoffe mir kann da jemand weiterhelfen
Greetz
Trashkid2000 - Di 19.04.11 15:28
Hallo,
der Fehler liegt darin, dass der Username ja eine Zeichenfolge ist und auch so im Command abgebildet werden muss. Also so:
C#-Quelltext
1:
| mysqlcmd.CommandText = "Select Username from `Benutzerdaten` where Username = '" + sUsername + "';"; |
Den Tabellennamen habe ich mal eingequotet. Ansonsten solltest Du den Usernamen lieber als Parameter an den Command übergeben, dann hast Du auch nicht das Problem mit den Hochkommas.
LG
Nextlive - Di 19.04.11 15:51
Ah ok vielen Dank es funktioniert jetzt :D
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!