int a = dataGridView1.CurrentRow.Index;
            int b = dataGridView1.Rows.Count;
           
            string info = dataGridView1.CurrentRow.Cells[0].Value.ToString();            if (a<b)                                        //为什么这里的if条件完全没用? 因为我在选择最后那行空白处时也能把它上面的那行删除. 所以我就想用这个if条件控制,结果没用怎么回事?思路应该没错啊. 请问大大们这个问题该怎么解决? 
            {
                myConn.Open();
      
                    string del = "delete from stus where stu_id='" + info + "'";
                    SqlCommand myComm = new SqlCommand(del, myConn);
                    SqlDataReader myrd = myComm.ExecuteReader();
                    MessageBox.Show("删除成功");
                    myrd.Close();                    myConn.Close();  
 
            }  问题在注释处有详细说明!  谢谢大大们指教,急急急!!! 明天不出来会死人的....

解决方案 »

  1.   


    我的意思是, 我不是要删除一行信息么? 当我选择 最下面那一行,也就是全部是空白的那一行时,它就删除了上面的那一行.....然后我就用上面注释处那个if条件来控制,结果那个if条件没有作用,请问有没有其他的办法解决?
      

  2.   

    你做一个判断,如果没有选择信息则弹出信息说您还没有选择要删除的信息。
    string info = dataGridView1.CurrentRow.Cells[0].Value.ToString();if(info=="")
    {
    response.write("<script>alert('请选择要删除的信息!');</script>")
    }
    else
    {
    执行删除代码
    }
      

  3.   

    设置一下让DataGridView不显示最后一行就行了啊!
      

  4.   


    if(info=="")这个条件不行 我试了 不然我也不会考虑到用 行的索引这个办法了....
      

  5.   

    int b = dataGridView1.Rows.Count-1;
    不显示出dataGridView1的最后一行空白
    dataGridView1.AllowUserToAddRows = false;
    DataGridView1.Rows.Remove(DataGridView1.Rows[DataGridView1.Rows.Count - 1])'删除最后一行
      

  6.   

    if (a<b)永远为真int b = dataGridView1.Rows.Count 因为我在选择最后那行空白行也在记数范围内。最小都是1
    建议你可以把修改属性AllowUserAddRows=false//禁止用户增加行,就是不显示空白行这样你定义的a可能等于b