C# 列id不属于表

C# 列id不属于表,c#,sql-server,C#,Sql Server,我正在尝试将CSV文件导入SQL server数据库 这是我的代码,找不到问题:( CSV数据: 列“ID”;“日期和时间”;“配方”;“读数传感器”;“实验室结果%”;“水分传感器%”;“干点”;“湿点”;“启用”;“错误”;“批次时间”;“批次大小[kg];“潮湿添加”;“包含产品1”;“包含产品2”;“LastUser”;“LastAccess” 值19;04/21/2016 09:45:49;101;4448;8.8;0.0;1;0;0;-1.19;309;2000;0.0;1;0;操作

我正在尝试将CSV文件导入SQL server数据库

这是我的代码,找不到问题:(

CSV数据:

列“ID”;“日期和时间”;“配方”;“读数传感器”;“实验室结果%”;“水分传感器%”;“干点”;“湿点”;“启用”;“错误”;“批次时间”;“批次大小[kg];“潮湿添加”;“包含产品1”;“包含产品2”;“LastUser”;“LastAccess”

值19;04/21/2016 09:45:49;101;4448;8.8;0.0;1;0;0;-1.19;309;2000;0.0;1;0;操作员;2018年2月11日00:01

给我一个错误:

列id不属于表


最后,我找到了解决问题的方法。答案由两种方法组成

1) 在我的案例中,一个具有csv扩展名的文件与分隔;而不是,。在我的代码中,我使用分离流传输csv文件(streamreader)。这就是为什么它不起作用。 VS将数据显示为一列,而不是多列

 string[] headerColumns = header.Split(';'); // so i changed , to ;
                foreach (string headerColumn in headerColumns)
                {
                    CSVData.Columns.Add(headerColumn);
                }

                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();

                    if (string.IsNullOrEmpty(line)) continue;

                    string[] fields = line.Split(';'); // so i changed , to ;
                    DataRow importedRow = CSVData.NewRow();
2) CSV文件包含列作为“Columntitle”。我必须删除“”以便我的代码能够识别我在sql数据库中使用的头


我发现这两种解决方案都使用VS属性来检查字符串或数据表中包含的数据。

excel文件的外观如何?使用调试器并检查表[KeminRecipe]有ID列吗?你们桌上有身份证吗?是恒等式和自动递增式吗?
 string[] headerColumns = header.Split(';'); // so i changed , to ;
                foreach (string headerColumn in headerColumns)
                {
                    CSVData.Columns.Add(headerColumn);
                }

                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();

                    if (string.IsNullOrEmpty(line)) continue;

                    string[] fields = line.Split(';'); // so i changed , to ;
                    DataRow importedRow = CSVData.NewRow();