Мой SQL-запрос работает как положено в SQL Server, но при запуске его в Visual Studio - нет.Что случилось? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь создать приложение в Visual Studio 2015, где я подключаюсь к базе данных и отображаю результаты в DataGridView. Он включает в себя панель поиска, которую я включил на экране Задачи DataGridView, которая фильтрует DataGridView на основе результатов поиска.

У меня есть SQL-запрос (фильтрует базу данных на основе FirstName), присоединенный к DataGridView.

Когда я проверяю поиск только по первой букве столбца FirstName, ничего не появляется (он возвращает результат только в том случае, если я ввожу точную FirstName одной из строк в моей базе данных). Я связал подстановочный знак в своем запросе SQL, поэтому даже если я выполнял поиск только по первой букве имени, результаты все равно должны отображаться.

Что происходит?

SQL-запрос кажется правильным, потому что я проверил свой запрос в SQL Server на свою базу данных, и когда я добавил запрос в свой DataGridView (используя кнопку «Выполнить запрос» в «Построителе запросов»). Возвращает ожидаемые результаты. Я даже дважды проверил запрос в наборе данных, чтобы убедиться, что это точный запрос.

Я подключен к базе данных, потому что могу успешно отобразить набор данных для моего DataGridView.

SQL-запрос:

SELECT 
    *
FROM
    Doctor
WHERE  
    (FirstName LIKE @FirstName + '%')

Когда я выполняю поиск в строке поиска, при наборе букв (например, «j», «je») результаты не отображаются, но когда я набираю имя, точно такое же, как оно существует в базе данных (например, ». Джен "), результат обнаруживается.

Поскольку к моему запросу присоединен символ «%» (подстановочный знак), поиск по «j» и «je» не работает, но должен, не так ли?

Редактировать: я получил это работает вчера. Я не думаю, что я изменил какой-либо код (на самом деле это код по умолчанию, который генерируется при создании DataGridView и добавлении запроса). Программа перестала работать, как ожидалось, сегодня, что странно.

...