VS自動生成的DataSet中Fill方法(追加記錄的實現)

原文:http://blog.csdn.net/cisee/article/details/3489157

在VS2008中向一個winform project中加入一個綁定數據源的時候,IDE會自動生成一個相應的dataSet.xsd文件,這個文件的用途就是相當於封裝了一層數據源,我們可以直接利用它來很方便地從數據庫中讀取數據,一般它會產生兩個類,一個是DataSet類,另一個是Adapter類,這個類的名當然是根據數據庫的表名來命名的,比如我們的數據庫裏面的表爲test, 則產生的兩個類分別爲testDataSet類和testTableAdapters, Adapters類中會自動產生一個Fill方法,來讀取數據源中的數據,當然我們也可以填加新的方法,但是默認的這些方法都不是向dataTable中追加數據,而是覆蓋原有的數據,說得更加清楚一點,是先清空,然後再Fill這個dataTable,看了一下VS自動產生的源代碼,如下:

  1. public virtual int Fill(testDataSet.testDataTable dataTable) {
  2.             this.Adapter.SelectCommand = this.CommandCollection[0];
  3.             if ((this.ClearBeforeFill == true)) {
  4.                 dataTable.Clear();
  5.             }
  6.             int returnValue = this.Adapter.Fill(dataTable);
  7.             return returnValue;
  8.         }

    發現上面有個判斷語句,  if ((this.ClearBeforeFill == true)), 這就是問題產生的原因, 所以如果我們想向這個dataTable中追加數據,而不是把原有的數據清空,我們只需要將Adapters類的ClearBeforeFile屬性設置爲false就可以了. 即如下:

    this.testTableAdapter.ClearBeforeFill = false;

    這樣就可以實現追加數據的功能了 ^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章