如何在C#中从sql检索特定数据?

时间:2019-04-03 16:09:17

标签: c# mysql sql visual-studio

我有一个具有下表的数据库:

users table

我正在尝试获取当前用户名的角色,以便可以将该人重定向到正确的页面。我使用if子句(acc.u_role == 1)进行了尝试,但不幸的是它无法正常工作。

    public ActionResult Verify(User acc)
    {
        connectionString();
        con.Open();
        com.Connection = con;
        com.CommandText = "select * from Users where u_username = '"+acc.u_username+"' and u_password ='"+acc.u_password+"'";

        dr = com.ExecuteReader();
        if (dr.Read())
        {
            if (acc.u_role == 1) { 
                con.Close();
                return View("AdminHome");
            }
            else
            {
                con.Close();
                return View("UserHome");
            }
        }
        else
        {
            con.Close();
            return View("Error");
        }
    } 

2 个答案:

答案 0 :(得分:0)

您在哪里设置acc.u_role?

您似乎正在读取数据,然后没有使用它。 dr [5]应该包含数据库中的角色

        dr = com.ExecuteReader();
        if (dr.Read())
        { 

            if (dr[5] == 1) { 
                con.Close();
                return View("AdminHome");
            }

答案 1 :(得分:0)

我已经找到了答案的解决方案,这里是:

 if (dr.Read())
            {
                if (Convert.ToInt32(dr["u_role"]) == 1) {
                    con.Close();
                    return View("AdminHome");
                }
                else
                {
                    con.Close();
                    return View("UserHome");
                }
            }
            else
            {
                con.Close();
                return View("Error");
            }