Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在mysql中将简单的日期从文本框转换为日期时间?_C#_Mysql_Asp.net - Fatal编程技术网

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

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

我在文本框中有一个日期,如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 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进行数据库交互。