Я пытаюсь получить DataTable
, содержащий дома в определенном городе с номерами между х и у.Почему этот SQL-запрос не извлекает данные?
Я использую этот SQL-запрос:
"SELECT * FROM Houses WHERE City = '" + Cities.Text +
"' AND Rooms BETWEEN '" + MinRooms.Text + "' AND '" + MaxRooms.Text + "'"
Элементы управления DropDownLists в ASP.NET.
Когда я удаляю его и оставляю только «между комнатами», он работает.
Что я должен искать? Все кажется правильным.
Remove '(апостроф), используемый с BETWEEN - только в случае, если номер является числовым столбцом. –
В качестве важного аспекта ваш код уязвим для ** SQL-инъекций ** (Google это! Очень важно!). Чтобы этого избежать, вам нужно реализовать что-то, называемое ** параметризованным запросом ** (это также Google). –
Поместите контрольную точку отладки в строку после создания строки SQL и посмотрите на запрос. Похоже, вы ожидаете? Также обратите внимание, что построение запросов в виде строки из пользовательского ввода может привести к SQL Injection; используйте вместо этого [параметризованные запросы] (http://bobby-tables.com/csharp.html). –