如何自动将编辑日期添加到日期时间选择器?

How to add edited date automatically to datetimepicker?

我想让时间在我编辑产品价格时自动填充到 Datetimepicker 中。因此,它可以与购买日期进行比较。所以,我决定在 MySQL 数据库中使用 on_update_current_timestamp。我的问题是如何在 Datagridview 中将字符串转换为日期。因为当我按下编辑按钮时它工作但是对于添加按钮它收到错误 无法转换 MySQL date/time 它有任何解决方案来实现我的目标。如果是的话,你能解释一下吗?谢谢你

Public Sub disp_data()
            cmd = conn.CreateCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "select * from produk"
            cmd.ExecuteNonQuery()
            Dim dt As New DataTable()
            Dim da As New MySqlDataAdapter(cmd)
            da.Fill(dt)
            DataGridView1.DataSource = dt
    End Sub

Private Sub tambah_btn_Click(sender As Object, e As EventArgs) Handles tambah_btn.Click
        cmd = conn.CreateCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = $"insert into produk values('{kode.Text}','{nama.Text}','{harga.Text}','{DateTimePicker1.Value.ToString("dd/mm/yyyy")}')"

        cmd.ExecuteNonQuery()
        kode.Text = ""
        nama.Text = ""
        harga.Text = ""

        disp_data()
        MessageBox.Show("Data berhasil ditambahkan")
    End Sub

你可以这样做(而且更好):

        '...
        cmd = conn.CreateCommand()
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "insert into produk values (@kode,@nama,@harga,@date)"
        cmd.Parameters.AddWithValue("@kode", kode.Text)
        cmd.Parameters.AddWithValue("@nama", nama.Text)
        cmd.Parameters.AddWithValue("@harga", harga.Text)
        cmd.Parameters.AddWithValue("@date", DateTimePicker1.Value.Date)

        cmd.ExecuteNonQuery()
        '...

让我知道它是否解决了问题,或者是否需要进行一些调整