向DataRow中寫入數據,報無法找到列0 或列1 的錯誤


向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);

                }   

折中辦法解決這一問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM