向DataTable中添加數據,報錯:無法找到列1
代碼如下:
StreamReader sr = new StreamReader(fs, encoding); //每一行數據 string strLine = ""; //數組 string[] DataLine = null; dt.Columns.Add(new DataColumn()); while ((strLine = sr.ReadLine()) != null) { DataLine = strLine.Split(','); DataRow dr = dt.NewRow(); //將每一行數據填入DataTable的一行中 for (int i = 0; i < DataLine.Length; i++) { dr[i] = DataLine[i]; } dt.Rows.Add(dr); }
原因:增加數據行之前必須先創建數據列,但由於列數不確定,無法初始化合適的列。這種辦法,將每行作為一個字符串寫入DataTable,這樣創建一個列就可以了。
StreamReader sr = new StreamReader(fs, encoding); //每一行數據 string strLine = ""; dt.Columns.Add(new DataColumn()); while ((strLine = sr.ReadLine()) != null) { DataRow dr = dt.NewRow(); //將每一行數據填入DataTable的一行中 dr[0] = strLine; dt.Rows.Add(dr); }
折中辦法解決這一問題。
