Поиск ASP.NET SQL DataSet для почтового индекса - PullRequest
0 голосов
/ 12 августа 2010

Я делаю проект в 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

Ответы [ 2 ]

1 голос
/ 12 августа 2010

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

0 голосов
/ 12 августа 2010

% 7D - это специальный символ в некоторых обстоятельствах ... возможно, этот также?Проблема также возникает для других комбинаций?

...