C# 如何在mysql中将简单的日期从文本框转换为日期时间?
我在文本框中有一个日期,如2014-17-04,即(YYYY-DD-MM),我想把它放在数据库中,如2014-04-17 00:00:00,那么我该怎么做呢。我已经试过了C# 如何在mysql中将简单的日期从文本框转换为日期时间?,c#,mysql,asp.net,C#,Mysql,Asp.net,我在文本框中有一个日期,如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_格式在数据库中插入值呢?使用DateTime
sSQL = "INSERT INTO Date_Master(BirthDate) VALUES('"+Convert.ToDateTime(txtBirthdate.Text)+"')";
但它给出的错误是“字符串未被识别为有效的日期时间”。那么,如何使用MySQL DATE_格式在数据库中插入值呢?使用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所添加的,始终使用参数化查询以避免注入请查看我编辑的问题。。。然后使用参数化SQL进行数据库交互。