[MySql] Eintrag vorhanden

03/22/2018 15:00 Darkhomer#1
Guten Tag,

Ich wollte mich mal in C# Probieren.

bekomme es einfach nur nicht hin eine Abfrage zu machen ob der jeweilige username schon vergeben ist mein Code zur abfrage lautet:


könnte mir da mal jemand etwas unter die Arme greifen?
Danke im vorraus

MfG
03/22/2018 18:11 Serraniel#2
#moved
03/22/2018 18:39 florian0#3
Code:
string query = "SELECT * FROM benutzer WHERE username = "+ tbox_benutzer +"";
Resultiert in einem QueryString der so aussieht:
Code:
SELECT * FROM benutzer WHERE username = florian0
Um Texte zu vergleichen brauchst du aber " oder '

Code:
SELECT * FROM benutzer WHERE username = "florian0"
Code:
SELECT * FROM benutzer WHERE username = 'florian0'
03/22/2018 18:41 Serraniel#4
Gehe des Weiteren davon aus das
Code:
tbox_benutzer
ne Textbox auf deiner GUI ist, oder? Dann musst du auch
Code:
tbox_benutzer.Text
verwenden, damit du den Inhalt der Textbox in das Query einbaust.
03/23/2018 08:57 warfley#5
Eventuell solltest du auch darüber nachdenken seinen querry zu parametrisieren, dann kümmert sich der Treiber selbst um die Formatierung (mal ganz davon abgesehen das es sicherer ist)
Schau mal hier:
[Only registered and activated users can see links. Click Here To Register...]
03/23/2018 11:15 Darkhomer#6
Quote:
Originally Posted by Serraniel View Post
Gehe des Weiteren davon aus das
Code:
tbox_benutzer
ne Textbox auf deiner GUI ist, oder? Dann musst du auch
Code:
tbox_benutzer.Text
verwenden, damit du den Inhalt der Textbox in das Query einbaust.
Danke. das war der fehler xD

kann mal Passieren :D

Danke aber auch allen weiteren.
MfG

so Funktioniert es. fals es noch jemand übersieht xD
03/27/2018 22:40 mrapc#7
Was bereits gesagt wurde
Code:
if (OpenConnection() == true)
{
string query = "SELECT * FROM benutzer WHERE username = [COLOR="Red"]'"+ tbox_benutzer.Text +"'"[/COLOR];

MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataReader rdr = cmd.ExecuteReader();

if (rdr.HasRows == true)
{
MessageBox.Show("Benutzer Vorhanden!");
}
else
{
MessageBox.Show("Benutzername FREI");
}
conn.Close();
}
Ist schlecht


mach lieber:
cmd.CommandText = "SELECT * FROM benutzer WHERE username = ?username";
cmd.Parameters.AddWithValue("?username", tbox_benutzer.Text);
03/29/2018 18:28 Xio.#8
Quote:
Originally Posted by mrapc View Post
Was bereits gesagt wurde
Code:
if (OpenConnection() == true)
{
string query = "SELECT * FROM benutzer WHERE username = [COLOR="Red"]'"+ tbox_benutzer.Text +"'"[/COLOR];

MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataReader rdr = cmd.ExecuteReader();

if (rdr.HasRows == true)
{
MessageBox.Show("Benutzer Vorhanden!");
}
else
{
MessageBox.Show("Benutzername FREI");
}
conn.Close();
}
Ist schlecht


mach lieber:
cmd.CommandText = "SELECT * FROM benutzer WHERE username = ?username";
cmd.Parameters.AddWithValue("?username", tbox_benutzer.Text);
mein benutzername ist aber DROP DATABASE; :(

Fuer den OP: [Only registered and activated users can see links. Click Here To Register...]