вставьте значение даты и времени в sql базу данных с c#

В Vim есть функция rename, но, к сожалению, она не сохраняет историю.

Самый простой способ переименовать файл без потери истории, не зависящий от ОС:

:saveas new_file_name
:call delete(expand('#:p'))

expand('#:p') возвращает полный путь к старому файлу.

Используйте :bd #, если вы также хотите удалить более старый файл из списка буферов.

Или создайте плагин

Если вы хотите использовать быструю команду для переименования файла, добавьте новый файл в ~ / .vim / plugin со следующим содержимым:

function! s:rename_file(new_file_path)
  execute 'saveas ' . a:new_file_path
  call delete(expand('#:p'))
  bd #
endfunction

command! -nargs=1 -complete=file Rename call <SID>rename_file(<f-args>)

Команда Rename поможет вам быстро переименовать файл.

32
задан Matthew Dresser 25 July 2013 в 22:14
поделиться

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();
}

Прошло некоторое время с тех пор, как я написал этот материал, так что это может быть не идеально. но общая идея есть.

ВНИМАНИЕ: это не было продезинфицировано. Вы должны использовать параметры, чтобы избежать атак путем инъекций.

РЕДАКТИРОВАТЬ: Поскольку Джон настаивает.

3
ответ дан 27 November 2019 в 19:54
поделиться
INSERT INTO <table> (<date_column>) VALUES ('1/1/2010 12:00')
-7
ответ дан 27 November 2019 в 19:54
поделиться

Я согласен с другими плакатами, что вы должны использовать строку.

Но знайте, что в зависимости от того, насколько агрессивно ваш компилятор оптимизирует временные файлы, у вас, вероятно, возникнут дополнительные накладные расходы (при использовании динамический массив символов). (Примечание: хорошая новость заключается в том, что в C ++ 0a разумное использование ссылок rvalue не потребует оптимизации компилятора для повышения эффективности здесь - и программисты смогут сделать некоторые дополнительные гарантии производительности своего кода, не полагаясь на качество компилятор.)

Стоит ли в вашей ситуации дополнительных накладных расходов вводить ручное управление памятью? Большинство разумных программистов не согласятся, но если у вашего приложения все же возникают проблемы с производительностью, следующим шагом будет профилирование вашего приложения - таким образом, если вы добавите сложность,

[Начало стандартной цитаты]

Временные объекты типа класса создаются в различных контекстах: привязка rvalue к ссылке (8.5.3), возврат rvalue (6.6.3), преобразование, которое создает rvalue (4.1 , 5.2.9, 5.2.11, 5.4), выброс исключения (15.1), вход в обработчик (15.3) и при некоторых инициализациях (8.5). [Примечание: время жизни объектов исключения описано в 15.1. ] Даже когда создание временного объекта избегается (12.8), все семантические ограничения должны соблюдаться, как если бы временный объект был создан. [Пример: даже если конструктор копирования не вызывается, все семантические ограничения, такие как доступность (пункт 11), должны быть выполнены. ]

 [Example:  
struct X {
  X(int);
  X(const X&);
  ˜X();
};

X f(X);

void g()
{
  X a(1);
  X b = f(X(2));
  a = f(a);
}

Здесь реализация может использовать временный объект для создания X (2) перед передачей его в f () с помощью конструктора копирования X; в качестве альтернативы, X (2) может быть построен в пространстве, используемом для хранения аргумента. Кроме того, временный объект может использоваться для хранения результата f (X (2)) перед его копированием в b с помощью конструктора копирования X; в качестве альтернативы результат f () может быть построен в b. С другой стороны, выражение a = f (a) требует временного значения либо для аргумента a, либо для результата f (a), чтобы избежать нежелательного псевдонима а. ]

[End Standard Quote]

По сути, в приведенном выше тексте говорится, что вы можете полагаться на RVO в ситуациях инициализации, но не в ситуациях присваивания. Причина в том, что когда вы инициализируете объект, нет способа, чтобы то, чем вы его инициализируете, могло когда-либо быть наложено на сам объект (вот почему вы никогда не выполняете самопроверку в конструкторе копирования), но когда вы это делаете

В вашем коде нет ничего, что по своей сути запрещает RVO - но прочтите документацию по компилятору, чтобы убедиться, что вы действительно можете положиться на него, если он вам действительно нужен.

Не нужно беспокоиться о формате даты (ММ / ДД / ГГГГ или ДД / ММ / ГГГГ). Он будет работать со всеми из них.

8
ответ дан 27 November 2019 в 19:54
поделиться

Следующее должно работать и является моей рекомендацией (параметризованный запрос):

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();
83
ответ дан 27 November 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: