#c#
#c#
Вопрос:
Я пытаюсь сохранить дату в mysql из jquery * DatePicker * из C #
string datetime = txtDate.Text " " time;//05/11/2011 5:30 pm
string getSQL1 =
"INSERT into tblconcertdetail
(Address, City, Pincode, Country, Concert_Date)
VALUES ('" addr "','" txtCCity.Text "','" txtCpincode.Text "','"
ddlCCountry.SelectedItem.Text "','" Convert.DateTime(datetime) "')";
Здесь getsql1
показано заполненное поле даты, но в базе данных оно сохраняет значение 0000-00-00 00:00.
Я не понимаю, почему это так.
Я также пытаюсь convert.ToString(datetime)
.
Комментарии:
1. Вау. Это подвержено SQL-инъекциям. Никогда не создавайте запросы путем объединения текста вместе. Вместо этого используйте параметры.
2. Использование параметров при предотвращении атак SQL-инъекций также делает код более читаемым, по крайней мере, для меня. Я мог бы сразу увидеть переданные параметры, их значения и, при необходимости, типы данных. Вот хорошая статья о параметрах. java2s.com/Code/CSharp/Database-ADO.net /…
Ответ №1:
Как упоминалось в комментариях, вы должны использовать параметры по двум причинам:
- Предотвращение SQL-инъекций.
- Обрабатывать преобразования типов данных. В вашем случае обработка .NET
DateTime
введите эквивалентное значение в базе данных.