Подтвердить что ты не робот

Вставить значение datetime в базу данных sql с помощью С#

Как вставить значение datetime в таблицу базы данных SQL, где тип столбца равен datetime?

4b9b3361

Ответ 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')