[英]error insert date mysql vb.net
I have the column named breakdown date in my database. 我的数据库中有一个列为故障日期的列。 it's type is "Date" when i'm inserting into my database a breakdown i have a problem with the date column
当我向数据库插入故障时,它的类型为“日期”,我对日期列有问题
Private Sub BT_SAVE_Click(sender As Object, e As EventArgs) Handles BT_SAVE.Click
Dim SQLStatement As String = "INSERT INTO Pannes VALUES(03082016,'" & CB_AV.SelectedItem.ToString() & "','" & TXT_PAN.Text & "','" & TXT_DET.Text & "','" & DateTimePicker1.Value.ToString("yyyy-mm-dd") & "')"
SavePann(SQLStatement)
End Sub
i get the error Incorrect date value: '2016-47-16' for column 'DATE' at row 1 Can anyone help? 我在第1行的“ DATE”列收到错误的错误日期值:“ 2016-47-16”,有人可以帮忙吗?
Your month is incorrect. 您的月份不正确。 '2016-47-16'.
'2016-47-16'。 I suspect it's a minute value.
我怀疑这是一分钟的价值。
Use .ToString("yyyy-MM-dd")
instead. 请改用
.ToString("yyyy-MM-dd")
。
Please use SQL parameters instead of concat a big Insert string. 请使用SQL参数,而不是使用大的插入字符串。 This will avoid such errors like you describe.
这样可以避免出现您所描述的错误。
Also you don´t have to convert a Date
parameter into a String when MySql is translating it back to a Date
value anyways. 同样,当MySql将其转换回
Date
值时,您也不必将Date
参数转换为String。 Just use the DateTimePicker.Value
. 只需使用
DateTimePicker.Value
。
Dim SQLStatement As String = "INSERT INTO Pannes VALUES(@p1,@p2,@p3,@p4,@p5)"
(I suggest to replace the parameter names with meaningful ones). (我建议将参数名称替换为有意义的名称)。
And in SavePann
make use of Using
since it automatically disposes your connection and command objects. 并且在
SavePann
使用“ Using
因为它会自动处理您的连接和命令对象。
Using conn as New MySqlConnection
conn.ConnectionString = "YourSqlConnectionString"
conn.Open()
Using cmd as New MySqlCommand
cmd.Connection = conn
cmd.CommandText = SQLStatement
cmd.Prepare()
cmd.Parameters.AddWithValue("@p1", 03082016)
cmd.Parameters.AddWithValue("@p2", CB_AV.SelectedItem.ToString())
cmd.Parameters.AddWithValue("@p3", TXT_PAN.Text)
cmd.Parameters.AddWithValue("@p4", TXT_DET.Text)
cmd.Parameters.AddWithValue("@p5", DateTimePicker1.Value) 'No ToString needed'
cmd.ExecuteNonQuery()
End Using
End Using
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.