在使用this.dataSet11.Tables[0].Rows.Count之前,先执行:
this.dataSet11.Tables[0].AcceptChanges();

解决方案 »

  1.   

    如果你用delete方法删除表记录,实事上。记录并没有被删除。而是在行状态上做了标记。一直到使用AcceptChanges方法时。这个标记一直存在。
    方法一:
        DataSet ds=this.dataSet11.GetChanges(DataRowState.Deleted);
        行数=this.dataSet11.Tables[0].Rows.Count-ds.Tables[0].Rows.Count
    方法二:
        int s=0;
        foreach(DataRow dr in ds.Tables[0].Rows)
        {
    if(dr.RowState!=DataRowState.Deleted)
        {
    s++;
    }
        }
        如果行里还有其它状态的话。同理
      

  2.   

    DataSet   是将数据放到内存中的
    你即使在将数据删除几行并且更新数据源,DATASET还是从内存读取原来的数据
    除非你重新绑定