Ваш код уязвим для SQL-инъекций . Никогда не используйте конкатенации строк при построении ваших запросов SQL. Вместо этого используйте параметризованные запросы:
public bool IsValid(string username, string password)
{
using (var conn = new OdbcConnection("host=localhost;usr=root;password=admin;db=timekeeping;"))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "SELECT count(*) FROM receptionist WHERE username = @username AND password = @password;";
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@password", password);
var count = (long)cmd.ExecuteScalar();
return count > 0;
}
}
, а затем позвоните так:
bool isValid = IsValid(username_login.ToString(), password_login.ToString());
Также, если вы используете SQL Server, вам лучше использовать SqlConenction вместо драйвера ODBC.