Я использую пейджинг на своей веб-странице, поэтому для каждой нажатой буквы будут отображаться записи, начинающиеся с этого символа.Однако моя проблема заключается в том, что мне нужно использовать # для отображения всего, кроме символов, чтобы он включал записи, начинающиеся, например, с - 1, 323, _,! И т. Д. Как бы я использовал регулярное выражение для сравнения значений, например, сказать -
if left(selectedRecord, 1) <> "[^a-z]" then
Раньше я использовал для этого процедуру хранения, но из-за того, что флажки проблематичны при подкачке, я просто извлекаю все записи и фильтрую вот так -
response.Write "<tr"
if trim(request.Form("selected_Button")) = "#" then
elseif trim(request.Form("selected_Button")) <> lcase(trim(left(objRS("Movies"), 1))) and len(request.Form("selected_Button")) = 1 then
response.Write " style=""display:none;"""
end if
response.Write ">"
Так что мой вопрос: какя бы исправил #, как я использовал в своей хранимой процедуре -
select * from Movies where movies like '[^a-z]%'
Кнопки пейджинга -
<center><input id="buttonStyle" type="submit" name="Selected_Button" value="#">
<% for i = 97 to 122 %>
<input id="buttonStyle" type="submit" name="Selected_Button" value="<%=CHR(i) %>">
<% next %></center>
<center></br><input id="buttonStyle" type="submit" name="Selected_Button" value="View All"></center>
РЕДАКТИРОВАТЬ :
Так что яЯ сам нашел решение, но я хочу знать, смогу ли я сделать это без перебора алфавита -
response.Write "<tr"
if trim(request.Form("selected_Button")) = "#" then
for i = 97 to 122
if lcase(trim(left(objRS("Movies"), 1))) = chr(i) then
response.Write " style=""display:none;"""
end if
next
elseif trim(request.Form("selected_Button")) <> lcase(trim(left(objRS("Movies"), 1))) and len(request.Form("selected_Button")) = 1 then
response.Write " style=""display:none;"""
end if
response.Write ">"