Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用oleDBConnection将CSV数据读取到C数据集中并添加列标题_C#_Csv_Dataset - Fatal编程技术网

C# 使用oleDBConnection将CSV数据读取到C数据集中并添加列标题

C# 使用oleDBConnection将CSV数据读取到C数据集中并添加列标题,c#,csv,dataset,C#,Csv,Dataset,我有一个.csv文件,我正在通过OLEDB连接读取到C中。我正在将其加载到数据集中。这一步很好。.csv文件中的“我的数据”没有任何标题数据/列标题。我想将列标题添加到C中的数据集中,而不是直接添加到.csv文件中。如果我尝试添加列标题,那么它只会在数据的末尾创建一个新列,但是我希望将标题添加到已有数据的现有列中,而不是创建一个新列。只需使用索引访问列并更改名称即可 DataTable table = your datatable; table.Columns[0].ColumnName = "

我有一个.csv文件,我正在通过OLEDB连接读取到C中。我正在将其加载到数据集中。这一步很好。.csv文件中的“我的数据”没有任何标题数据/列标题。我想将列标题添加到C中的数据集中,而不是直接添加到.csv文件中。如果我尝试添加列标题,那么它只会在数据的末尾创建一个新列,但是我希望将标题添加到已有数据的现有列中,而不是创建一个新列。

只需使用索引访问列并更改名称即可

DataTable table = your datatable;
table.Columns[0].ColumnName = "Foo";

谢谢,现在我可以添加一个列标题了。但是,添加列标题意味着我现在丢失了第一行数据,因为列标题覆盖了我的第一行数据。我显然需要保持所有数据的完整性,只需在第一行数据之前添加列标题。您的代码表中是否有类似的内容。Columns.add您可以共享这部分代码吗。通常的做法是读取第一行并将值指定为列名。我认为您正在做类似的事情不,我没有使用tables.Columns.Add,因为它会在现有列中追加一个新列。我使用了您建议的table.Columns[0].ColumnName,这样可以正确标记第一列,但这样做会删除第一行数据。我将在新注释中发布代码。使用var conn=new OleDbConnectionconnString{conn.Open;var query=SELECT*FROM[+Path.GetFileNamefileName+];使用var adapter=new OleDbDataAdapterquery,conn{adapter.Filldt;}dt.Columns[0]。ColumnName=Column1;dt.Columns[1]。ColumnName=Column2;}确定在连接字符串中有HDR=No。