我正在尝试在C#中执行SQL请求,以了解用户是否已在我的数据库中注册.为此,我使用以下源代码:
public bool pseudoDispo(string pseudo)
{
// Ouverture de la connexion SQL
this.OpenConnection();
// Création d'une commande SQL en fonction de l'objet connection
MySqlCommand cmd = this.connection.CreateCommand();
cmd.CommandText = "SELECT COUNT(*) FROM `user` WHERE `pseudo` = '" + pseudo + "'";
int test = cmd.ExecuteNonQuery();
MessageBox.Show(test.ToString());
// Exécution de la commande SQL
if (cmd.ExecuteNonQuery() == 1)
{
this.connection.Close();
MessageBox.Show("Registered");
return true;
}
else
{
this.connection.Close();
MessageBox.Show("Not Registered");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是MySqlCommand.ExecuteNonQuery()总是返回-1而我不知道为什么.我的请求似乎有效,因为它在phpmyadmin上返回了我的好结果(如果已注册,则返回1,如果没有则返回0).
有人帮我解释一下,我做错了吗?
谢谢!
编辑:我一直试图通过使用ExecuteScalar()以另一种方式完成我的功能,但现在我遇到了一些麻烦,因为它总是让我回归0.我显然不明白,但我甚至不知道是什么......我可以获得有关ExecuteScalar()和那种函数的更多信息吗?我试图将它转换为字符串,似乎cmd请求Int64.所以我更新了我的代码,但它仍然无效.我对自己缺乏知识感到非常沮丧,但无论如何,这是代码:
public …Run Code Online (Sandbox Code Playgroud)