靈魂-放水

          為學日益,為道日損。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
          記錄個自己的低級錯誤!!!!!!!!!!!!!!!!!

          今天在對一個表進行刪除,發現以下問題:

          先附一段代碼:(方便調試,加了些MessageBox.)
          ??????????? string deleteID = this.costomerDataGrid[this.costomerDataGrid.CurrentRowIndex, 6].ToString();
          ?????????? ?this.costomer_RecordTableAdapter.Fill(this.realEstatePDADataSet.Costomer_Record);
          ??????????? MessageBox.Show("過濾前的dataView集合數:"+this.dataView2.Count.ToString());
          ??????????? this.dataView2.RowFilter = "客戶編號 = '" +deleteID+ "'";
          ??????????? //this.dataView1.Sort = "來訪時間";
          ??????????? MessageBox.Show("過濾條件:" + deleteID);
          ??????????? MessageBox.Show("過濾后的dataView集合數:"+this.dataView2.Count.ToString());
          ??????????? this.costomer_RecordBindingSource.EndEdit();
          ??????????? for (int i = 0; i < this.dataView2.Count; i++)
          ??????????? {
          ??????????????? MessageBox.Show("刪除第"+i+"條記錄");
          ??????????????? this.costomer_RecordBindingSource.RemoveAt(i);
          ??????????? }
          ??????????? this.costomer_RecordTableAdapter.Update(this.realEstatePDADataSet.Costomer_Record);
          ??????????? MessageBox.Show("刪除成功!");

          出現問題:表中的記錄沒被清除完全。仔細檢查,發現Data.Count屬性隨著循環刪除,每次比較 i < this.dataView2.Count,Count屬性也是動態變化的。解決辦法:
          ??????????? string deleteID = this.costomerDataGrid[this.costomerDataGrid.CurrentRowIndex, 6].ToString();
          ??????????? this.costomer_RecordTableAdapter.Fill(this.realEstatePDADataSet.Costomer_Record);
          ??????????? MessageBox.Show("過濾前的dataView集合數:"+this.dataView2.Count.ToString());
          ??????????? this.dataView2.RowFilter = "客戶編號 = '" +deleteID+ "'";
          ??????????? //this.dataView1.Sort = "來訪時間";
          ??????????? MessageBox.Show("過濾條件:" + deleteID);
          ??????????? MessageBox.Show("過濾后的dataView集合數:"+this.dataView2.Count.ToString());
          ??????????? this.costomer_RecordBindingSource.EndEdit();
          ??????????? while(this.dataView2.Count!=0)
          ??????????? {
          ??????????????? MessageBox.Show("刪除第" + Convert.ToSingle(this.dataView2.Count)+ "條記錄");
          ??????????????? this.costomer_RecordBindingSource.RemoveAt(this.dataView2.Count-1);
          ??????????? }
          ??????????? this.costomer_RecordTableAdapter.Update(this.realEstatePDADataSet.Costomer_Record);
          ??????????????? MessageBox.Show("刪除成功!");

          posted on 2007-02-01 20:12 放水老倌 閱讀(957) 評論(0)  編輯  收藏 所屬分類: .NET
          主站蜘蛛池模板: 南涧| 贡山| 班戈县| 铁岭县| 阿拉善左旗| 乳山市| 青州市| 盈江县| 宜黄县| 大邑县| 牡丹江市| 新津县| 泽库县| 宣化县| 苗栗市| 昌黎县| 克拉玛依市| 泌阳县| 苏州市| 和平区| 永仁县| 清丰县| 乡宁县| 南投市| 营山县| 信丰县| 石林| 新干县| 桃园县| 绩溪县| 六枝特区| 苏尼特右旗| 潮州市| 昌图县| 安阳县| 揭西县| 台江县| 离岛区| 家居| 中西区| 阳泉市|