Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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# 导入到MySQL时格式化DateTable日期列_C#_Mysql_Date_Csv_Filehelpers - Fatal编程技术网

C# 导入到MySQL时格式化DateTable日期列

C# 导入到MySQL时格式化DateTable日期列,c#,mysql,date,csv,filehelpers,C#,Mysql,Date,Csv,Filehelpers,我目前正在使用FileHelpers包将信息的DataTable导入我的MySQL数据库。运行我的程序后,数据库中的数据如下所示 MySQL列的格式是DATETIME。这些是我目前正在使用的方法,您可以看到我已经尝试正确设置列的格式 联系人 private void Contacts() { try { using (OleDbConnection dbfCon = new OleDbConnection(dbfConstr))

我目前正在使用
FileHelpers
包将信息的
DataTable
导入我的
MySQL
数据库。运行我的程序后,数据库中的数据如下所示

MySQL列的格式是
DATETIME
。这些是我目前正在使用的方法,您可以看到我已经尝试正确设置列的格式

联系人

    private void Contacts()
    {
        try {
            using (OleDbConnection dbfCon = new OleDbConnection(dbfConstr))
            {
                dbfCon.Open();
                var dbfCmd = new OleDbCommand(@"SELECT ct_id, ct_cmpid, ct_empid,
                ct_pplid, ct_cntid, ct_pplnm, ct_date, ct_time, ct_type, ct_doneby, ct_desc
                FROM contacts", dbfCon);
                var dTable = new DataTable();
                var dataAdapter = new OleDbDataAdapter(dbfCmd);
                dataAdapter.Fill(dTable);
                WriteDateTimeToCSV(dTable, "contacts");
            }
        }
        catch (OleDbException ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
WriteDateTimeToCSV

这种方法只需对数据进行精简,然后使用其余的数据

    public void WriteDateTimeToCSV(DataTable dataTable, string mySqlTable)
    {
        var sb = new StringBuilder();

        // Trim the DataTable
        dataTable.AsEnumerable().ToList()
        .ForEach(row =>
        {
            var cellList = row.ItemArray.ToList();
            row.ItemArray = cellList.Select(x => x.ToString().Trim()).ToArray();
        });

        foreach (DataRow row in dataTable.Rows)
        {   
            // Used to remove carriage returns
            if (row[10].ToString().Contains("\r\n"))
            {
                row[10] = row[10].ToString().Replace("\r\n", "*?*!");
            }
        CommonEngine.DataTableToCsv(dataTable, @"C:\Users\DanD\Desktop\filehelpers.csv", '|');
        WriteToMySQL(mySqlTable);
    }
将数据表写入CSV。在CSV格式中,日期格式类似于dd-MM-YYYY,在任何天/月/年之间都没有
-
。我相信这就是MySQL数据库中的格式混乱的原因

我以前对
FileHelpers
没有太多经验,是那个包导致格式不正确吗

编辑:我尝试过使用这个

row[6]=((DateTime)row[6]).ToString(“yyyy-MM-dd”,CultureInfo.InvariantCulture)


但是当我打印出
行[6]
时,我仍然有完全相同的问题。

像这样尝试
((日期时间)行[6])。ToString(“yyyy.MM.dd”)
像这样尝试
((日期时间)行[6])。ToString(“yyy.MM.dd”)

这正是我到目前为止在编辑中所尝试的。到目前为止运气不好!我已将其更改为最新版本,但仍然没有luckWhat类型在演员阵容之前有第[6]行?这正是我迄今为止在编辑中尝试的。到目前为止运气不好!我已将其更改为DATE,但仍然没有luckWhat类型在cast之前有行[6]?数据表中的日期格式是否正确?只有导入数据库时出错?@Bayeni否日期在数据表中的格式不正确,它们在数据表中的格式如下:
Fri 02 08 1996 0002 08 1996 00:00:00
。我也找不到格式化我在
OleDB
中使用的
SELECT
语句的方法。最后一个问题:)是否从microsoft access数据库读取此数据?@Bayeni Visual Fox Pro:)数据表中的日期格式是否正确?只有导入数据库时出错?@Bayeni否日期在数据表中的格式不正确,它们在数据表中的格式如下:
Fri 02 08 1996 0002 08 1996 00:00:00
。我也找不到格式化我在
OleDB
中使用的
SELECT
语句的方法。最后一个问题:)您正在从microsoft access数据库读取此数据吗?@Bayeni Visual Fox Pro:)