靈魂-放水

          為學日益,為道日損。

          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
          主站蜘蛛池模板: 白河县| 东海县| 丹棱县| 台南县| 内乡县| 即墨市| 博乐市| 环江| 鄯善县| 伊宁县| 理塘县| 九台市| 府谷县| 独山县| 庆安县| 平罗县| 兴国县| 精河县| 四平市| 蒙山县| 萨嘎县| 治县。| 崇左市| 沽源县| 萍乡市| 泸州市| 新竹市| 阳曲县| 鞍山市| 响水县| 肃宁县| 遂川县| 青阳县| 平阴县| 连城县| 榆树市| 区。| 东明县| 内丘县| 建水县| 廉江市|