求助!C#网页设计-登陆界面(连接SQL server)。

一个简单的登陆界面,然后输入账号和密码,判断用户类型是学生(1)还是管理员(2)。
从SQL sever中提取登陆名,密码,权限。
作if语句的判断,对了就跳转到别的页面,但是就是if语句这里总是不对,用一个一个输出也看了,数值上没有什么问题,就是登陆不进去
能请各位大神门帮帮我吗,这个马上要答辩,挺急的。
上代码和图

一个个输出的结果

部分数据库:

图片说明

using (SqlConnection myconnection = new SqlConnection(con))
        {
            DataSet ds = new DataSet();
            using (SqlDataAdapter sda = new SqlDataAdapter("select * from lo where name='" + T1.Text.ToString() + "' and pw = '" + T2.Text.ToString() + "'", con))
            {
                sda.Fill(ds);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //给定的用户名密码查询到了数据
                    Response.Write(ds.Tables[0].Rows[0][2].ToString());
                    if (ds.Tables[0].Rows[0][2].ToString()== "1")
                        Response.Redirect("stu.aspx?id=" + T1.Text.ToString()); 
                    else if(ds.Tables[0].Rows[0][2].ToString() == "2")
                        Response.Redirect("Default.aspx?id=" + T1.Text.ToString());
                    else
                        Response.Write("<script>alert('对不起,您不是合法用户或者密码错误!')</script>");
                }
            }     
        }

刚刚根据一位大神改了一下代码,但还是老问题,if语句不对

这样写试试

  DataTable dt = new DataTable();
            SqlConnection conn = new SqlConnection(con);
            string sql = string.Format("select * from lo where name='{0}' and pw='{1}'", T1.Text.ToString(), T2.Text.ToString());
            SqlCommand comm = new SqlCommand(sql, conn);
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(comm);
            da.Fill(dt);
            conn.Close();

            if (dt.Rows.Count > 0)
            {
                if(Convert.ToInt32(dt.Rows[0]["qx"].ToString()) == 1)
                    Response.Redirect("stu.aspx?id=" + T1.Text.ToString());
                else if(Convert.ToInt32(dt.Rows[0]["qx"].ToString()) == 2)
                    Response.Redirect("Default.aspx?id=" + T1.Text.ToString());
                else
                    Response.Write("<script>alert('对不起,您不是合法用户或者密码错误!')</script>");
            }
            else {
                Response.Write("<script>alert('对不起,用户不存在!')</script>");
            }

String sql = "select "+name+ " from lo ";
这个就不对
你的列叫做name,而不是变量

应该是
String sql = "select * from lo where name = '" + name + "'";

试一下 ds.Tables[0].Rows[0][2].ToString().Trim()== "1"

去空格

我在回答你之前,看了夜空的答案,他if里的代码和你完全一样,我答完之后他编辑了他的答案(看编辑时间),按他的说法又单独的new了一个dt,并且if里增加了强转int,这个强转是避免空格的思路,是不是抄我的就不清楚了,重要的是你要知道问题到底夜空说的那个dt问题还是我说的空格的原因