靈魂-放水

          為學日益,為道日損。

          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 放水老倌 閱讀(948) 評論(0)  編輯  收藏 所屬分類: .NET
          主站蜘蛛池模板: 兴文县| 祁门县| 杭锦旗| 西城区| 高碑店市| 兴山县| 滕州市| 桂平市| 蒲江县| 革吉县| 垫江县| 阿拉尔市| 元阳县| 嘉禾县| 淮安市| 同德县| 全南县| 琼结县| 彰武县| 湘潭市| 时尚| 武隆县| 奇台县| 鹤岗市| 余江县| 宁明县| 麻栗坡县| 凌海市| 肇州县| 许昌县| 新丰县| 合水县| 定州市| 怀柔区| 彩票| 陵川县| 祁连县| 汨罗市| 松溪县| 吴桥县| 佛教|