我在文本框中有一个日期,例如 2014-17-04 即(YYYY-DD-MM)我不想将其放入数据库中,例如 2014-04-17 00:00:00 ,那么我该怎么做。我尝试过如下..
sSQL = "INSERT INTO Date_Master(BirthDate) VALUES('"+Convert.ToDateTime(txtBirthdate.Text)+"')";
但它给出错误“字符串未被识别为有效的日期时间”。那么如何使用 MySQL DATE_FORMAT 在数据库中插入值呢?
最佳答案
使用 DateTime TryParse 或 TryParseExact 测试您的输入
DateTime dt;
if (DateTime.TryParseExact(txtBirthdate.Text, "yyyy-dd-MM", CultureInfo.InvariantCulture, DateTimeStyles.None,out dt))
{
var insert = "INSERT INTO Date_Master(BirthDate) VALUES(@birthdate)";
using (SqlCommand cmd = new SqlCommand(insert, yourConnection))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@birthdate",dt);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
}
yyyy-dd-MM
与您的预期输入匹配。正如 @JonSkeet 所补充的,始终使用参数化查询来避免注入(inject)
关于c# - 如何将简单日期从文本框转换为mysql中的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23219598/