Я делаю проект в ASP.NET, который в какой-то момент ищет в базе данных SQL почтовый индекс, используя наборы данных:
string postcode = "%" + searchTerm.Trim().Replace(' ', '%') + "%";
SearchDataSet.SearchCustomerTableDataTable custTable = custAdapter.GetDataCustPostcode(postcode);
GetDataCustPostcode
работает:
SELECT * FROM CustomerTable WHERE (CustomerPostcode LIKE @CustPostcode)
Ожидаемые результаты возвращаются при попытке:
searchTerm = "BT14"
ищет postcode
% BT14%
или searchTerm = "BT14 7"
ищет postcode
% BT14% 7%
custTable
пусто, когда я пытаюсь:
searchTerm = "BT14 7D"
ищет postcode
% BT14% 7D%
Если я попытаюсь написать запрос SQL напрямую, то есть набрать:
SELECT * FROM CustomerTable WHERE (CustomerPostcode LIKE '%BT14%7D%')
Затем ожидаемые результаты возвращаются.
Может кто-нибудь посоветовать, почему это так? Это как-то связано с символами в строке?
Спасибо
Clivest