• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы 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
 
Мы в соцсетях:

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