Member 2256533 Ответов: 1

Работает в доступе, но не из кода?


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

Выберите [IngredientID],[ингридиент] от [ингридиентов], где [ингредиент] Например, " *а*"

Я не вижу в этом ничего плохого. Любая помощь будет оценена по достоинству.

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

Я попытался использовать двойные кавычки, и это не сработало. Также устали поля со скобками или без них, и это тоже не сработало.

MadMyche

Публикация фактического кода C# была бы полезна

0x01AA

Получаете ли вы какие-либо данные, если вы не ограничиваете, я имею в виду, если вы это делаете Select [IngredientID],[Ingredient] from [Ingredients] ?

1 Ответов

Рейтинг:
1

OriginalGriff

SQL, как и подстановочные знаки, не использует "*" - вместо этого они используют"%".
Попробовать это:

SELECT [IngredientID],[Ingredient] FROM [Ingredients] WHERE [Ingredient] LIKE '%a%'


0x01AA

Но согласно документам MS Access это '*'

OriginalGriff

Да, но - вы должны задаться вопросом, является ли его фактический код или он использует SQL Server для обработки файла Access, возможно, через подключение attach? Учитывая, что он "ничего не возвращает", он, похоже, не выдает ошибку, просто не находит никаких совпадений.

MadMyche

Зависит от документов, которые вы читаете; поскольку Access может поддерживать как "расширенный" SQL, так и ANSI SQL.
https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/comparison-of-microsoft-access-sql-and-ansi-sql

0x01AA

Понятно, спасибо тебе за это.