首页 > 解决方案 > 如何将编辑后的日期自动添加到 datetimepicker?

问题描述

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

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

标签: vb.net

解决方案


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

        '...
        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()
        '...

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


推荐阅读