【问题标题】:How to check database field is true in c#如何在c#中检查数据库字段是否为真
【发布时间】:2021-06-27 07:00:24
【问题描述】:

我正在尝试在 C# 中创建一个脚本来检查表中的用户是否是管理员。我将它设置为一个布尔值,其中 true 是管理员,而 false 不是。我创建了一个命令,从他们是管理员的表中选择所有用户。我不确定如何在我的 id 语句中使用它来实现。我怎样才能做到这一点?

    public Boolean checkIfAdmin()
    {
        Connect database = new Connect();
        MySqlCommand command = new MySqlCommand("SELECT * From tbl_user WHERE user_isAdmin = true", database.getConnection());

        if (/*User is Admin*/)
        {
            return true;
        }
        else
        {

            return false;
        }
    }

如果用户是管理员,我如何让 if 语句返回 true?

【问题讨论】:

    标签: c# mysql winforms


    【解决方案1】:

    最好的解决方案是在您的查询中选择 user_isAdmin,其中 用户 ID (您的表格列) = 当前用户 ID。然后对您的 sql 命令执行一个标量,以将您的结果提取到一个布尔变量中。 示例:

    MySqlCommand command = new MySqlCommand("SELECT user_isAdmin From tbl_user WHERE user_id = " + userID, database.getConnection());
    bool isAdmin = (bool)command.ExecuteScalar();
    
    if(isAdmin) { //Do what you want as admin }
    else { //Do what you want if he's a user }
    

    【讨论】:

    • 请不要显示连接字符串来构建查询的代码。使用命令参数 ([Command].Parameters.Add())
    • @Jimi 是的,没错,使用参数比在查询中传递值(SQL INJECTION)更好。
    • 您能详细说明一下吗?
    猜你喜欢
    • 2018-09-16
    • 2017-11-22
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多