请大家帮忙解决下。谢谢!private void btn1_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("Data Source=(Local),Integrated Security=SSPI;DataBase=UserMessage");
            SqlCommand cmd = new SqlCommand("select * from UserInfo where UserName='"+this.textBox1.Text+"'and PassWord='"+this.textBox2.Text+"'");
            SqlDataReader dr = cmd.ExecuteNonQuery();//问题在这里,调试出现 无法将类型"int"隐式转化为"System.data.SqlClient.SqlDataReader"
         if (dr.Read())
         {             MessageBox.Show("成功登陆!","登陆成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             MessageBox.Show("用户名或密码有误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Information);
         } 

解决方案 »

  1.   

    中的SqlDataReader dr = cmd.ExecuteNonQuery();应改为SqlDataReader reader = cmd.ExecuteReader();
    试试吧
      

  2.   

    SqlDataReader dr = cmd.ExecuteNonQuery();应改为SqlDataReader reader = cmd.ExecuteReader();
    试试吧
      

  3.   

    cmd.ExecuteNonQuery()返回的是int
    而dr是DataReader类型的变量,所以你把一个int值赋值给一个DataReader类型的变量肯定有问题
     SqlConnection connection = new SqlConnection("Data Source=(Local),Integrated Security=SSPI;DataBase=UserMessage"); 
                SqlCommand cmd = new SqlCommand("select * from UserInfo where UserName='"+this.textBox1.Text+"'and PassWord='"+this.textBox2.Text+"'"); 
                if(cmd.ExecuteNonQuery()>0)
    {
     MessageBox.Show("成功登陆!","登陆成功", MessageBoxButtons.OK, MessageBoxIcon.Information); }
    else
    {
      MessageBox.Show("用户名或密码有误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    }
      

  4.   

    SqlDataReader dr = cmd.ExecuteNonQuery();//问题在这里,调试出现 无法将类型"int"隐式转化
    dr 为DataReader 类型。cmd.ExecuteNonQuery() 返回值为int 肯定会报错。
    把cmd.ExecuteNonQuery()改成cmd.ExecuteReader();