int i;
                int r_count = dataGridView.SelectedRows.Count;
                if (r_count > 0 && MessageBox.Show(this, "是否真的要删除当前记录?", "是否删除", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    ArrayList delrows = new ArrayList();
                    for (i = 0; i < r_count; i++)
                    {
                        delrows.Add(dataGridView.SelectedRows[i]);
                    }
                    for (i = 0; i < r_count; i++)
                    {
                        string _datetime = ((DateTime)(((DataGridViewRow)delrows[i]).Cells["passTimeDataGridViewTextBoxColumn"].Value)).ToShortDateString();//做第二次循环的时候就出现异常
                        int index = mdbFile.IndexOf("Data-");
                        string prefix_mdbPath = mdbFile.Substring(0, index);
                        string currentFilePath = prefix_mdbPath + "Data-" + _datetime + ".mdb";
                        string connectionStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", currentFilePath);
                        this.vehicleDataTableAdapter.Connection.ConnectionString = connectionStr;
                        ((DataRowView)(((DataGridViewRow)delrows[i]).DataBoundItem)).Row.Delete();
                        
                        this.vehicleDataTableAdapter.Update(this.dataTempletNewDataSet.VehicleData);
                        this.dataTempletNewDataSet.AcceptChanges();
                    }
异常提示:

解决方案 »

  1.   


    要么是数据库那个表没有passTimeDataGridViewTextBoxColumn 这个字段
    要么就是这个字段名写错了
      

  2.   

    passTimeDataGridViewTextBoxColumn 这个字段看看吧 会不会没有
      

  3.   

    有的,第一次能够访问,并且能够获得_datetime变量,只会在第二次说找不到这个列了。
      

  4.   


     for (i = r_count-1; i >=0 i--)//做删除要反向循环,每一次循环后count会少1
     {
     }
      

  5.   

    都让csdn的大侠们给惯的,什么问题都来问