Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поиск по первым буквам в любом регистре / 12 сообщений из 12, страница 1 из 1
21.04.2020, 15:22
    #39949404
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Здравствуйте! Подскажите пожалуйста, я делаю БД по учету книг. И у меня никак не получается поиск сделать по названиям книг и также по именам авторов. Он ищет по первым буквам, но только в нижнем регистре, а преподаватель просит чтобы искал в любом регистре. Вот мой код и прикладываю скриншоты.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
dw_list.SetTransObject(sqlca);
dw_list.Retrieve();
string str_search = "";
string name_table = "(";
string str_end = "%')";

//поиск по названию статьи

if (sle_Name_Article.Text <> '') then
	str_search += name_table + "lower(article_name) LIKE '" + sle_Name_Article.text + str_end;
end if;	

//Поиск по именам автора	

if (sle_Name_Author.text <> '') then
	if (str_search <> '') then
		str_search += " and " + name_table + "lower(all_name_author) LIKE '" + sle_Name_Author.text + str_end;
	else
		str_search += name_table + "lower(all_name_author) LIKE '" + sle_Name_Author.text + str_end;
	end if;
else
	if (str_search <> '') then
		str_search += " and " + name_table + "lower(all_name_author) LIKE '"+ str_end;
	end if;
end if;

dw_list.setfilter(str_search); 
dw_list.filter();
dw_1.setfilter(str_search); 
dw_1.filter();
dw_1.ScrollToRow(1);
dw_1.setfocus()






...
Рейтинг: 0 / 0
21.04.2020, 15:22
    #39949405
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
...
Рейтинг: 0 / 0
21.04.2020, 16:10
    #39949432
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Для начала надо привести все при поиске к одному регистру
Код: sql
1.
"lower(all_name_author) LIKE '" + lower(sle_Name_Author.text) + str_end;


И
Код: sql
1.
lower(all_name_author) LIKE '" + lower(sle_Name_Author.text) + str_end;
...
Рейтинг: 0 / 0
21.04.2020, 16:15
    #39949436
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
spas2001,

так, это сделала. Теперь ищет допустим ту же самую статью, когда набираю Formal с большой буквы и ищет с маленькой formal. А вот там есть статья, у которой все большие буквы FORMAL, а здесь тогда как?
...
Рейтинг: 0 / 0
22.04.2020, 11:32
    #39949918
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Это должно работать в любом случае
...
Рейтинг: 0 / 0
22.04.2020, 13:40
    #39949979
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Регистр и колонки и условия приведен к одному положению - нижнему. В этом случае регистр не будет учитываться и скрипт будет работать корректно
...
Рейтинг: 0 / 0
22.04.2020, 16:08
    #39950053
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
spas2001,

ну а вот допустим у меня есть две книги с одинаковыми названиями, одна с большой буквы начинается, а другая только одни большие буквы. И если я ввожу одни большие буквы, то должна найтись только одна книга. Я вот скриншот прикрепила, как у меня ищется,это правильно или нет.
...
Рейтинг: 0 / 0
22.04.2020, 17:10
    #39950085
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Если убрать "lower", то так и будет
...
Рейтинг: 0 / 0
22.04.2020, 17:15
    #39950088
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Riska,

если я убираю lower, то он не находит названия книг, если я ввожу в нижнем регистре
...
Рейтинг: 0 / 0
22.04.2020, 17:56
    #39950104
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
Я так понимаю, что поиск теперь правильно работает?
...
Рейтинг: 0 / 0
22.04.2020, 22:22
    #39950214
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
PolinaB
а преподаватель просит чтобы искал в любом регистре.

Теперь так и работает, находятся обе книги независимо от регистра
...
Рейтинг: 0 / 0
22.04.2020, 22:48
    #39950226
PolinaB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по первым буквам в любом регистре
spas2001,

да, что-то я немного затормозила и запуталась. Спасибо большое за помощь!
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поиск по первым буквам в любом регистре / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]