程序如下:Console.WriteLine("请输入用户名:");
            string name = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string pass = Console.ReadLine();
            using(SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename= G:\新建文件夹\代码4\ADO\ADO\Database1.mdf;Integrated Security=true; User Instance=true"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select Username from T_User where Username='"+name+"'";
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            string npass = reader.GetString(reader.GetOrdinal("Password"));                        
                            if (pass == npass)
                            {
                                Console.WriteLine("登陆成功!");
                            }
                            else
                            {
                                Console.WriteLine("密码错误!");
                            }
                        }
                        else
                        {
                            Console.WriteLine("用户名错误!");
                        }
                    }    
                }
            }       
            Console.WriteLine("Ok");
            Console.ReadKey();错误图像;

解决方案 »

  1.   

    select读取数据不够啊,没有你比对密码的字段。
      

  2.   

    应该是select * 
    谢谢楼上!
      

  3.   


    if(!reader1.HasRows())
            {
                Console.WriteLine("用户名错误!");
            }
            else if (!reader2.hasrows())
            {
                Console.WriteLine("密码错误!");
            }
            else
            {
                Console.WriteLine("登录成功!");
            } 
      

  4.   


     cmd.CommandText = "select Username from T_User where Username='"+name+"'";
    //把这个修改成下面
     cmd.CommandText = "select Username,Password from T_User where Username='"+name+"'";你取数据的时候没有取 Password 列,当然不能引用