Рейтинг:
5
OriginalGriff
Попробуй:
int year;
if (!int.TryParse(userInputTextBox.Text, out year))
{
// Report problem to user
...
return;
}
DateTime olderThan = DateTime.Now.Date.AddYears(-year);
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("DELETE FROM myTable WHERE dateColumn < @LIM", con))
{
cmd.Parameters.AddWithValue("@LIM", olderThan);
cmd.ExecuteNonQuery();
}
}
Member 11859517
спасибо,
на самом деле я хочу удалить эти изображения.
Member 11859517
Старше датавремя = Датавремя.Сейчас.Дата.AddYears (- год);
что это значит (- год), я не понимаю.
OriginalGriff
Что произойдет, если вы добавите отрицательное число?
int x =42;
х += -3;
Приставка.WriteLine(x);
Попробуй и увидишь...
Member 11859517
спасибо, я все понял.
OriginalGriff
Пожалуйста!
Member 11859517
плз, не могли бы вы рассказать мне о параметре @LIM?
OriginalGriff
Что вы хотите знать?
Member 11859517
почему мы используем параметр там? к сожалению я думаю, что его глупо ке. БТ фраки я не понял.
можно ли обойтись без использования параметров?
OriginalGriff
Вы используете параметр по двум причинам:
1) Так что вы можете отправить значение DateTime напрямую. Альтернативой является преобразование его в строку, но тогда вы оставляете место для SQL, чтобы неправильно истолковать значение: какая дата 01/02/03? Это могут быть США: 2 января 2003 года, Европа: 1 февраля 2013 года, Япония / ISO 3 февраля 2001 года ... если вы ошибетесь, это действительно может испортить вашу базу данных!
2) потому что это хорошая практика: вы никогда не должны объединять строки для формирования SQL-команды, потому что это может оставить вас широко открытыми для чего-то, называемого SQL-инъекцией, которая позволяет пользователям повреждать или уничтожать вашу базу данных, просто вводя текстовые поля. И это очень, очень легко для них сделать:
https://xkcd.com/327/
Прочтите его и не думайте, что это просто шутка.
Приобретите привычку всегда использовать параметры, и у вас не будет проблем - слишком легко впасть в плохие привычки, и их трудно сломать.
Member 11859517
большое вам спасибо, сэр...:)
OriginalGriff
Пожалуйста!