Goran Bibic Ответов: 2

Некорректное ошибка синтаксис ДБО


Некорректное ошибка синтаксис dbo или некорректное работник sinaxt, если удалить таблицу dbo...

Что я уже пробовал:

string pronadji = "SELECT brojprijavnice2 AS Redni_broj, radnik AS Radnik, vrijemeprijave AS Vrijeme_Prijave, vrijemeodjave AS Vrijeme_odjave"
                                + "FROM dbo.worker WHERE vrijemeprijave <= convert(date, getDate()) and vrijemeodjave <= convert(date, getDate()) and status = 'odjavljen'";

2 Ответов

Рейтинг:
2

#realJSOP

Единственное, что я сразу вижу, это то, что вы должны поставить квадратные скобки вокруг поля "Статус". Это зарезервированное слово в SQL.

Наряду с этим, вы также должны сделать convert(date, ...) кроме того, на имена полей, чтобы убедиться, что вы просто сравниваете даты.

Вы также можете уточнить имя таблицы с именем базы данных (это, вероятно, ваша реальная проблема).

[mydatabase].[dbo].[worker]

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


Рейтинг:
15

PeejayAdams

Вам не хватает пробела перед "FROM", но, пожалуйста, загляните в SQL-инъекцию и изучите, как безопасно передавать параметры в SQL-запросы.


#realJSOP

Я этого не расслышал. Он был предупрежден о sql-инъекции до этого вопроса.

PeejayAdams

Лошади и вода.