Cześć zaczynam ogarniać bazy danych i zatrzymałem się chyba przy dość prostym problemie.
Otóż mam prostą bazę użytkowników i przed dodaniem użytkownika do bazy chciałbym sprawdzić czy dany login jest wolny.
Napisałem taki kod ale wyrzuca błąd że połączenie jest już w użyciu.
private void button1_Click(object sender, EventArgs e)
{
string connection = "datasource=127.0.0.1;port=3306;username=root;password=;database=bazatest;";
string query = "SELECT name FROM users WHERE name='Podaneimie'";//wyszukuje w bazie podane imie
MySqlConnection databaseConnection = new MySqlConnection(connection);
MySqlCommand command = new MySqlCommand(query, databaseConnection);
MySqlDataReader reader;
try
{
databaseConnection.Open();
reader = command.ExecuteReader();
if (reader.HasRows)
{
MessageBox.Show("Taki uzytkownik juz istnieje");//jesli imię istnieje to daje komunikat
}
else //w przeciwnym wypadku che dodać rekord:
{
query = "INSERT into users ('id', 'name', 'number') VALUES (NULL, 'Podaneimie', '123');";
MySqlCommand command1= new MySqlCommand(query,databaseConnection);
command1.ExecuteReader();
MessageBox.Show("dodano");
}
// Finally close the connection
databaseConnection.Close();
}
catch (Exception ex)
{
// Show any error message.
MessageBox.Show(ex.Message);
}
}
}
Co jest nie tak z tym kodem?