我正在编写一个连接到 Oracle MySQL 来检查特定行的函数,但它似乎不起作用!有人可以告诉我如何检查数据库中是否已存在一行
private bool groupAlreadyHasAdmin(string grp) {
try
{
myConn.Open();
strCmd = "SELECT * FROM users WHERE usergroup=@groupname AND privelege=2 LIMIT 1";
MySqlCommand myCmd = new MySqlCommand(strCmd, myConn);
myCmd.Parameters.AddWithValue("groupname", grp);
if (myCmd.ExecuteNonQuery() > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception E) { MessageBox.Show(E.Message); }
return false;
}
最佳答案
上面的答案是使用 ExecuteReader 和 ExecuteNonQuery。您可能只是更喜欢使用简单的 Exists 查询,然后执行 ExecuteScalar,以使事情变得简单。您可以根据您的情况使用以下命令:
using (MySqlCommand cmd = new MySqlCommand()){
cmd.Connection = con;
cmd.CommandText = @"SELECT EXISTS(SELECT 1 FROM users WHERE usergroup=@groupname AND privelege=2 LIMIT 1)";
cmd.Parameters.AddWithValue("groupName", groupName);
var result = cmd.ExecuteScalar();
//result will be 1 if it exists, and 0 if it does not..
}
关于c# - 检查MySQL数据库中是否已经存在一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967780/