• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите С Кодом

  • Автор темы programmer8329
  • Дата начала
P

programmer8329

Я обычно пишу на дельфи но мне понадобилась срочно написать маленькое приложение и я решил на фреймвоке, там удобнее, вот следуящая проблема
Dim con1 as new sqlclient.sqlconnection(....)
Con1.open()
Dim command as sqlcommand=con1.createcommand

Command.CommandText="SELECT*FROM SOMETABLE where percent ='0.000'"
Dim id as string = command.ExecuteScalar()

If string.IsnullorEmpty(id) then
Msgbox("this record doesn't exist")

Endif

Происходит ошибка потому что percent в таблице типа Decimal , стоит мне вместо процента поставит любую другую колонку код срабатывает без ошибки, а так выдает ошибку incorrect syntax near percent. А что делать в этой ситуации.
 
L

LuMee

Подозреваю, что в тексте запроса следует убрать одинарные кавычки вокруг 0.000 - это же не строка, а число.
 
P

programmer8329

Боюсь что ваши подозрения не оправдались когда я заменил процент другой колонкой, того же типа decimal , то код срабатывает, когда я сравнил в дизайне таблице эти колонки оказалась что у процента в названии записано [percent], мне кажется из за этих кавычек происходит ошибка. Интересно можно програмно определить что у колонки есть такие кавычки?
 
L

LuMee

Квадратными скобками обрамляются идентификаторы (в том числе названия колонок), чьи имена совпадают с ключевыми словами Transact-SQL. Чтобы не думалось, можно в тексте запроса все имена колонок/таблиц/вьюх/и т.п. заключать в квадратные скобки, т.е. запрос будет вида:
Код:
SELECT * FROM [SOMETABLE] WHERE [percent] = 0.0
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!