vb.net - 如何将编辑后的日期自动添加到 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
解决方案
你可以这样做(而且更好):
'...
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()
'...
让我知道它是否可以解决,或者是否需要进行一些调整