[C#] Convert a DateTime Field to a SQL Field
If we want to insert a date in a SQL string in C#, the solution seems obvious:
DateTime date = DateTime.Now;
string sql = "INSERT INTO tabel VALUES('" + date.ToString() + "')";
Unfortunately this code doesn’t work! The function DateTime.ToString() returns a string like 21/11/2007 19.55.49, while MySQL wants a string like 2007-11-21 19:55:49.
The following static function converts a DateTime object in a valid date field for MySQL:
private static string MakeSQLDate(DateTime date) {
string sql = date.Year.ToString() + "-" + date.Month.ToString() + "-" + date.Day.ToString() + " " + date.Hour.ToString() + ":" + date.Minute.ToString() + ":" + date.Second.ToString();
return sql;
}
For using:
string sql = "INSERT INTO tabel VALUES('" + MakeSQLDate(date) + "')";