Я делаю программу на C#, где я могу выбрать и поместить данные в dataGridView по годам и месяцам. Годовая часть проста. Я выбираю год из выпадающего списка я сделать этот запрос:Как выбрать месяц для типа данных «дата»?
"SELECT * FROM table WHERE YEAR(date) = '" + year_comboBox.Text + "'";
Поскольку формат года в базе данных 2010, 2011, 2012 и так далее, все это прекрасно работает. Но когда дело доходит до нескольких месяцев, они находятся в моем comboBox как январь, февраль, март и т. Д., А их формат в базе данных - 01, 02, 03 и т. Д. Поэтому мне нужен другой тип запроса, или мне понадобится чтобы написать больше кода, чтобы я мог конвертировать строки января, февраля и другого месяца в 01, 02 и т. д., и это не очень эффективно для кода.
Итак, есть ли простой запрос, который я могу сделать, чтобы сделать эту работу без ввода необходимости конвертировать мои месячные строки?
Остерегайтесь sql-injection. Http://xkcd.com/327/ – albertjan
Вы должны использовать параметризованные запросы для предотвращения внедрения SQL. Вот пример того, как это сделать на C#: http://www.dotnetperls.com/sqlparameter В качестве примера того, почему у вас есть проблема, я мог бы набрать ''; drop table table; -' in год коробки и наносит ущерб. –