注册 登录
编程论坛 ASP.NET技术论坛

有点疑问

iwaglm 发布于 2008-04-23 16:59, 548 次点击
今天开始初学,随便做了一个登录的界面,其中有段严重用户名和密码的,老是与预期结果不一样
        SqlConnection cnn;
        cnn = new SqlConnection();
        cnn.ConnectionString = "Data Source=XYF;initial catalog=zcpd;uid=sa;pwd=xyf1987";
        cnn.Open();
        SqlCommand cmd = new SqlCommand("Select * from 用户 where 用户名='"+uname+"'", cnn);
        SqlDataReader dr = cmd.ExecuteReader();
        if (!dr.HasRows)//问题就在这里,按照预期,如果输入的用户名已存在于数据库中,此IF语句不会执行,可实际运行结果返回值却总是-1,不知道为什么
        {
            return -1;
        }
        dr.Read();
        if(dr["密码"].ToString().Trim()!=pwd)
        {
            return -2;
        }
        dr.Close();
        cnn.Close();
2 回复
#2
hebingbing2008-04-23 19:37
SqlCommand cmd = new SqlCommand("Select * from 用户 where 用户名='"+uname+"'", cnn);
 if(dr["密码"].ToString().Trim()!=pwd)

这里你不会是就用汉字吧……
你改了试试
#3
残影留香2008-04-24 18:50
SqlConnection cnn;
        cnn = new SqlConnection();
        cnn.ConnectionString = "Data Source=XYF;initial catalog=zcpd;uid=sa;pwd=xyf1987";
        cnn.Open();
        SqlCommand cmd = new SqlCommand("Select * from 用户 where 用户名='"+uname+"'", cnn);
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Reader())
        {
            return -2;
        }
else
        {
            return -1;
        }
        dr.Close();
        cnn.Close();
1