CSV到SQL-在数据列中的日期中添加1天

本文关键字:日期 添加 1天 SQL- 数据 CSV | 更新日期: 2023-09-27 18:26:53

我正在尝试将某个数据列['RecordAddedDate']中的所有日期添加1天

csvData.Columns.AddRange(new DataColumn[3] {                     
new DataColumn("Manufacturer", typeof(string)),
new DataColumn("SupplierCode", typeof(string)),
new DataColumn("RecordAddedDate", typeof(DateTime))});

目前我有这个工作:

for (int rowIndex = 0; rowIndex < csvData.Rows.Count; rowIndex++)
{
DateTime dt2 = DateTime.Parse(fieldData[2]);
var newDate = dt2.AddDays(1);
csvData.Rows[rowIndex][2] = newDate;                                    
}

但它只在从csv读取的第一行中增加了1天,而没有增加其余的时间

有什么帮助吗?

这是while循环,它从csv中读取数据并添加数据

 while (!csvReader.EndOfData)
                {
                    string[] fieldData = csvReader.ReadFields();
                    //Making empty value as null
                    for (int i = 0; i < fieldData.Length; i++)
                    {
                        Console.WriteLine(fieldData[i]);
                        if (fieldData[i] == "")
                        {
                            fieldData[i] = null;
                        }
                        for (int rowIndex = 0; rowIndex < csvData.Rows.Count; rowIndex++)
                        {
                            DateTime dt2 = csvData.Rows[rowIndex].Field<DateTime>(2);
                            DateTime newDate = dt2.AddDays(1);
                            csvData.Rows[rowIndex][2] = newDate;
                        }                             
                    }
                    csvData.Rows.Add(fieldData);
                    Console.WriteLine("Rows count:" + csvData.Rows.Count);
                }
            }
        return csvData;

CSV到SQL-在数据列中的日期中添加1天

什么是fieldData[2]?你总是在循环中使用这个,所以难怪你总是得到相同的DateTime。如果表格已经填写,并且您想更新值,请使用csvData.Rows[rowIndex][2] = csvData.Rows[rowIndex].Field<DateTime>(2).AddDays(1);

for (int rowIndex = 0; rowIndex < csvData.Rows.Count; rowIndex++)
{
    DateTime dt2 = csvData.Rows[rowIndex].Field<DateTime>(2);
    DateTime newDate = dt2.AddDays(1);
    csvData.Rows[rowIndex][2] = newDate;                                    
}