我在textBox中有一个日期,比如2014-17-04 ie(YYYY-DD-MM)我想把它放在2014-04-17 00:00:00这样的数据库中,那我该怎么做呢。我试过跟随..
sSQL = "INSERT INTO Date_Master(BirthDate) VALUES('"+Convert.ToDateTime(txtBirthdate.Text)+"')";
但它给出的错误是“字符串未被识别为有效的DateTime”。那么如何使用MySQL DATE_FORMAT在数据库中插入值?
答案 0 :(得分:1)
使用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所添加的那样,始终使用参数化查询来避免注入