如何在mysql中将简单日期从文本框转换为日期时间?

时间:2014-04-22 12:28:17

标签: c# mysql asp.net

我在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在数据库中插入值?

1 个答案:

答案 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所添加的那样,始终使用参数化查询来避免注入