将 MySqlDateTime 值从 C# 插入到 MySQL 数据库

我有一个 C# 应用程序,它需要将当前日期时间插入datetimeMySQL 数据库中的一个字段。我该如何实现?


我正在使用 MySQL 连接器/NET 6.9.9。以下是我迄今为止尝试过的。data.currentDateTime是 类型MySqlDateTime。


数据库中的预期结果是正确的日期时间,但实际值为0000-00-00 00:00:00。


    // Set up data object and add datetime


    MyData data = new MyData();

    data.currentDateTime = new MySqlDateTime(DateTime.Now);


    // Insert into database

    try

    {

        MySqlConnection conn = getMySqlConnection();

        conn.Open();


        MySqlCommand cmd = new MySqlCommand(@"

            INSERT INTO my_data (`current_datetime`)

            VALUES (@currentDateTime)

        ", conn);


        log.Debug(data.currentDateTime); // correct timestamp


        cmd.Parameters.AddWithValue("currentDateTime", data.currentDateTime);

        cmd.ExecuteNonQuery();


       // Value in the database is 0000-00-00 00:00:00


    } catch (Exception e) {

        // Hnadle exception

    }

MyData 类:


    public class MyData

    {

        public int id { get; set; }

        public MySqlDateTime currentDateTime { get; set; }

        // Other fields


        public MyData()

        {

            // Empty constructor

        }

    }


慕慕森
浏览 161回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP