編程批量添加區域名稱(樹形結構表)

ssqy表是5級結構的區域樹形表,設了4個字段。在網上找到了浙江省所有的地市、縣市和基層鄉鎮,添加是苦差事,編程事半功倍。在添加第5層的鄉鎮時,使用了以下方法:

        private void Savebutton_Click(object sender, EventArgs e)
        {
            Array myarray = this.textBox1.Text.Split(',');//轉化爲字符串數組
            for (int i = 0; i < myarray.Length - 1; i++)
            {
                DataRow drx = this.dataSet1.Tables["ssqy"].NewRow();
                drx["ssqyID"] = DbHelperACE.GetMaxID("ssqyID", "ssqy");
                drx["區域名稱"] = myarray.GetValue(i);//數組取值用法
                drx["區域層級"] = 5;
                drx["上級區域"] = short.Parse(this.comboBox1.SelectedValue.ToString());//combox控件真麻煩,取值需要雙重轉換
                this.dataSet1.Tables["ssqy"].Rows.Add(drx);
                this.ssqyTableAdapter.Update(this.dataSet1);

            }
                //this.ssqyTableAdapter.Update(this.dataSet1);//這句放在這裏出錯,不知道爲什麼?
       }


DbHelperACE.GetMaxID()方法見 <a target=_blank href="http://blog.csdn.net/luchuanbo/article/details/4430666">http://blog.csdn.net/luchuanbo/article/details/4430666</a>

//修改後的程序
        private void Savebutton_Click(object sender, EventArgs e)
        {
            Array myarray = this.textBox1.Text.Split(',');
            short ssqyIDAddOne = short.Parse(DbHelperACE.GetMaxID("ssqyID", "ssqy").ToString());
            for (int i = 0; i < myarray.Length - 1; i++)
            {
                DataRow drx = this.dataSet1.Tables["ssqy"].NewRow();
                drx["ssqyID"] = ssqyIDAddOne++;
                drx["區域名稱"] = myarray.GetValue(i);
                drx["區域層級"] = 5;
                drx["上級區域"] = short.Parse(this.comboBox1.SelectedValue.ToString());
                this.dataSet1.Tables["ssqy"].Rows.Add(drx);
                //this.ssqyTableAdapter.Update(this.dataSet1);
            }
            this.ssqyTableAdapter.Update(this.dataSet1);
        }




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