其他分享
首页 > 其他分享> > 向DataRow中写入数据,报无法找到列0 或列1 的错误

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

                }   

折中办法解决这一问题。

标签:写入,DataLine,Add,DataRow,或列,strLine,new,dt,dr
来源: https://www.cnblogs.com/kevinN/p/15510694.html