应该是dgvbook.SelectedRows[0]除非你选了两行

解决方案 »

  1.   

     public static int Deletenumber(int Deletenumber)
            {
                string sql = "delete from Book where bookNo=" + Deletenumber;
                SqlParameter[] para = new SqlParameter[] { };
                int count = new SQLHelper().ExecuteScalar(sql, para);
                return 1;
            }
    这是Deletenumber的代码,也不知道对改上边的代码有没有帮助
      

  2.   

    莫非一行没选?试试
    if(dgvbook.SelectedRows.Count==1)//保证只选了一行
    {
      int t = int.Parse(dgvbook.SelectedRows[1].Cells[0].Value.ToString());
                    DAL.BookDAL.Deletenumber(t);
                    MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
    }
    else
    {
    MessageBox.Show("没有行被选定");
    }
      

  3.   


    没到这,错误信息是你输入的1在SelectedRows这个集合中不存在
      

  4.   

    把Cells[0].Value.ToString();的结果贴上来
      

  5.   

    顺便再问一个问题,就是删除后怎么同时也把datagridview中的信息也同时删除,我删除后数据库里没了可是在这个控件里还存在