Как вставить значение datetime в таблицу базы данных SQL, где тип столбца равен datetime?
Вставить значение datetime в базу данных sql с помощью С#
Ответ 1
Следующее должно работать и является моей рекомендацией (параметризованный запрос):
DateTime dateTimeVariable = //some DateTime value, e.g. DateTime.Now;
SqlCommand cmd = new SqlCommand("INSERT INTO <table> (<column>) VALUES (@value)", connection);
cmd.Parameters.AddWithValue("@value", dateTimeVariable);
cmd.ExecuteNonQuery();
Ответ 2
DateTime time = DateTime.Now; // Use current time
string format = "yyyy-MM-dd HH:mm:ss"; // modify the format depending upon input required in the column in database
string insert = @" insert into Table(DateTime Column) values ('" + time.ToString(format) + "')";
и выполнить запрос.
DateTime.Now
заключается в вставке текущего Datetime..
Ответ 3
Более стандартно использовать формат yyyy-mm-dd hh: mm: ss (IE: 2009-06-23 19:30:20)
Используя это, вам не придется беспокоиться о формате даты (MM/DD/YYYY или DD/MM/YYYY). Он будет работать со всеми из них.
Ответ 4
using (SqlConnection conn = new SqlConnection())
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO <table> (<date_column>) VALUES ('2010-01-01 12:00')";
cmd.ExecuteNonQuery();
}
Прошло некоторое время с тех пор, как я написал этот материал, так что это может быть не идеально. но общая идея есть.
ПРЕДУПРЕЖДЕНИЕ: это небезопасно. Вы должны использовать параметры, чтобы избежать инъекций.
EDIT: Так как Джон настаивает.
Ответ 5
вы можете отправить значение DateTime в SQL как строку со специальным форматом. этот формат "yyyy-MM-dd HH: mm: ss"
Пример: CurrentTime - это переменная как datetime Тип SQL. И dt является переменной DateTime в .Net.
DateTime dt=DateTime.Now;
string sql = "insert into Users (CurrentTime) values (‘{0}’)";
sql = string.Format(sql, dt.ToString("yyyy-MM-dd HH:mm:ss") );
Ответ 6
Преобразуйте существующий объект DateTime
в string
с одинарными кавычками вокруг него. Я не думаю, что это действительно имеет значение в каком формате, если это действительно так.
Что-то вроде этого:
string data = "'" + date.ToString() = "'";
При желании вы можете создать новый формат и передать его как параметр в data.ToString(format)
;
Ответ 7
INSERT INTO <table> (<date_column>) VALUES ('1/1/2010 12:00')