c# - 检查MySQL数据库中是否已经存在一行?

标签 c# mysql .net

我正在编写一个连接到 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/

相关文章:

php - 从 SQL 填充选择字段,使用选择更新数据库

asp.net - ReportViewer 正在阻止其他功能,直到报表查看器的加载完成

c# - 当我们将其长度设置为零时,Stringbuilder 的 Capacity 属性真的很重要吗?

c# - 在 Windows 中检测耳机

c# - Linq方法获取列表中元素和下一个元素之间的分段差异

mysql - Laravel 4 表单数据未提交到数据库

php - 按获取按钮后应用程序崩溃。 Android 的远程数据库

c# - 如何激活将操作作为其参数的通用方法

c# - NHibernate.LazyInitializationException 异常

c# - 在 C# 中将数据导入 Cassandra Cluster 的最佳方法