从Csv文件问题上传的数据

时间:2017-07-17 14:31:01

标签: c# asp.net csv visual-studio-2015

我从csv文件上传到我的数据库的数据有问题。在我的csv文件中,我有8行,这是8种药物。但是当我上传文件时,我有重复文件,还有一些药品根本不在文件中。另外,我有很多空行。

这是我的代码:

for (int i = 0; i < AllFiles.Length; i++)
{
    try
    {
        File_Name = AllFiles[i].Name;
        DataTable dt = new DataTable();
        using (OleDbConnection con = new OleDbConnection(string.Format(CSV_CONNECTIONSTRING, csvPath)))
        {
            using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + File_Name + "]", con))
            {
                da.Fill(dt);
            }
        }
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(ConString))
        {
            bulkCopy.ColumnMappings.Add(0, "medicine_id");
            bulkCopy.ColumnMappings.Add(1, "category_id");
            bulkCopy.ColumnMappings.Add(2, "subcategory_id");
            bulkCopy.ColumnMappings.Add(3, "med_name");
            bulkCopy.ColumnMappings.Add(4, "brand");
            bulkCopy.ColumnMappings.Add(5, "form_id");
            bulkCopy.ColumnMappings.Add(6, "poison_schedule");
            bulkCopy.ColumnMappings.Add(7, "strength");
            bulkCopy.ColumnMappings.Add(8, "image");
            bulkCopy.ColumnMappings.Add(9, "quantity");
            bulkCopy.ColumnMappings.Add(10, "unit");
            bulkCopy.ColumnMappings.Add(11, "threshold");
            bulkCopy.ColumnMappings.Add(12, "price");
            bulkCopy.ColumnMappings.Add(13, "manufacturer");
            bulkCopy.ColumnMappings.Add(14, "special_instructions");

            bulkCopy.DestinationTableName = "medicine";
            bulkCopy.BatchSize = dt.Rows.Count;
            bulkCopy.WriteToServer(dt);
            bulkCopy.Close();
        }

    }
    catch (System.Exception ex)
    {
        throw ex;
    }
}

medicine_id与文件中的不匹配,但其余信息匹配。我认为这可能是因为它在一个循环中进行,所以它一直在读取文件,直到它达到最大行数,这就是为什么我有重复,许多空行和药物不在文件中。但是,我不确定如何解决它。

请帮助:(

0 个答案:

没有答案