Thread View: pl.comp.lang.delphi
5 messages
5 total messages
Started by lordbz
Mon, 10 Sep 2018 09:26
Szukanie w bazie, upper i pierwsza litera
Author: lordbz
Date: Mon, 10 Sep 2018 09:26
Date: Mon, 10 Sep 2018 09:26
37 lines
2107 bytes
2107 bytes
Hej
Potrzebuję porady
jest kodzik:
with DMLog.Ucz, SQL do
begin
Close;
Clear;
Add('SELECT id_uczestnik, imie, nazwisko FROM Uczen');
Add('WHERE del=:del');
if EdtSzukaj.Text <> '' then
Add('AND (UPPER(imie) LIKE :s or UPPER(nazwisko) LIKE :s)');
ParamByName('del').AsInteger := 0;
if EdtSzukaj.Text <> '' then
ParamByName('s').AsString := '%' + UpperCase(szukaj) + '%';
Open;
Wyszukuje i działa i zgodnie z Upper - nie zważa przy szukaniu czy "anna" czy "Anna".
Do momentu gdy ktos ma na imię Żaneta.
Wpisanie żaneta (małe ż) nie znajduje ale Żaneta -tak założone w bazie (duże znajduje). Zachowuje sie tek jakby upper nie działał do dużej polskiej litery.
Baza FB 2.5
win 1250
col 3.0
może ktoś się z tym spotkał i coś doradzi
pozdrawiam
Przemek
Re: Szukanie w bazie, upper i pierwsza litera
Author: FlashX
Date: Mon, 10 Sep 2018 09:58
Date: Mon, 10 Sep 2018 09:58
42 lines
2078 bytes
2078 bytes
Wiem, że to jest drut ale można spróbowac zrobić jeszcze
replace(string,'ż','Ż') i sprawdzić czy działa ;)
W dniu 10.09.2018 o 11:26, lordbz pisze:
> Hej
>
> Potrzebuję porady
>
> jest kodzik:
>
>
> with DMLog.Ucz, SQL do
> begin
> Close;
> Clear;
> Add('SELECT id_uczestnik, imie, nazwisko FROM Uczen');
> Add('WHERE del=:del');
>
> if EdtSzukaj.Text <> '' then
> Add('AND (UPPER(imie) LIKE :s or UPPER(nazwisko) LIKE :s)');
>
> ParamByName('del').AsInteger := 0;
>
> if EdtSzukaj.Text <> '' then
> ParamByName('s').AsString := '%' + UpperCase(szukaj) + '%';
> Open;
>
> Wyszukuje i działa i zgodnie z Upper - nie zważa przy szukaniu czy "anna" czy "Anna".
>
> Do momentu gdy ktos ma na imię Żaneta.
>
> Wpisanie żaneta (małe ż) nie znajduje ale Żaneta -tak założone w bazie (duże znajduje). Zachowuje sie tek jakby upper nie działał do dużej polskiej litery.
>
> Baza FB 2.5
> win 1250
> col 3.0
>
> może ktoś się z tym spotkał i coś doradzi
>
> pozdrawiam
> Przemek
>
Re: Szukanie w bazie, upper i pierwsza litera
Author: Tomek D
Date: Mon, 10 Sep 2018 10:28
Date: Mon, 10 Sep 2018 10:28
39 lines
1935 bytes
1935 bytes
Tutaj znajdziesz podpowiedź co należy zrobić
http://www.destructor.de/firebird/charsets.htm
Tomek D.
W dniu 10.09.2018 o 11:26, lordbz pisze:
> Hej
>
> Potrzebuję porady
>
> jest kodzik:
>
>
> with DMLog.Ucz, SQL do begin Close; Clear; Add('SELECT id_uczestnik,
> imie, nazwisko FROM Uczen'); Add('WHERE del=:del');
>
> if EdtSzukaj.Text <> '' then Add('AND (UPPER(imie) LIKE :s or
> UPPER(nazwisko) LIKE :s)');
>
> ParamByName('del').AsInteger := 0;
>
> if EdtSzukaj.Text <> '' then ParamByName('s').AsString := '%' +
> UpperCase(szukaj) + '%'; Open;
>
> Wyszukuje i działa i zgodnie z Upper - nie zważa przy szukaniu czy
> "anna" czy "Anna".
>
> Do momentu gdy ktos ma na imię Żaneta.
>
> Wpisanie żaneta (małe ż) nie znajduje ale Żaneta -tak założone w
> bazie (duże znajduje). Zachowuje sie tek jakby upper nie działał do
> dużej polskiej litery.
>
> Baza FB 2.5 win 1250 col 3.0
>
> może ktoś się z tym spotkał i coś doradzi
>
> pozdrawiam Przemek
>
Re: Szukanie w bazie, upper i pierwsza litera
Author: Andrzej J
Date: Mon, 10 Sep 2018 10:29
Date: Mon, 10 Sep 2018 10:29
43 lines
2282 bytes
2282 bytes
Może trzeba użyć składni UPPER(imie COLLATE PXW_PLK)
W dniu 2018-09-10 o 11:26, lordbz pisze:
> Hej
>
> Potrzebuję porady
>
> jest kodzik:
>
>
> with DMLog.Ucz, SQL do
> begin
> Close;
> Clear;
> Add('SELECT id_uczestnik, imie, nazwisko FROM Uczen');
> Add('WHERE del=:del');
>
> if EdtSzukaj.Text <> '' then
> Add('AND (UPPER(imie) LIKE :s or UPPER(nazwisko) LIKE :s)');
>
> ParamByName('del').AsInteger := 0;
>
> if EdtSzukaj.Text <> '' then
> ParamByName('s').AsString := '%' + UpperCase(szukaj) + '%';
> Open;
>
> Wyszukuje i działa i zgodnie z Upper - nie zważa przy szukaniu czy "anna" czy "Anna".
>
> Do momentu gdy ktos ma na imię Żaneta.
>
> Wpisanie żaneta (małe ż) nie znajduje ale Żaneta -tak założone w bazie (duże znajduje). Zachowuje sie tek jakby upper nie działał do dużej polskiej litery.
>
> Baza FB 2.5
> win 1250
> col 3.0
>
> może ktoś się z tym spotkał i coś doradzi
>
> pozdrawiam
> Przemek
>
Re: Szukanie w bazie, upper i pierwsza litera
Author: Roman Tyczka
Date: Mon, 10 Sep 2018 11:20
Date: Mon, 10 Sep 2018 11:20
40 lines
1911 bytes
1911 bytes
On Mon, 10 Sep 2018 02:26:53 -0700 (PDT), lordbz wrote:
> Potrzebuję porady
>
> jest kodzik:
>
>
> with DMLog.Ucz, SQL do
> begin
> Close;
> Clear;
> Add('SELECT id_uczestnik, imie, nazwisko FROM Uczen');
> Add('WHERE del=:del');
>
> if EdtSzukaj.Text <> '' then
> Add('AND (UPPER(imie) LIKE :s or UPPER(nazwisko) LIKE :s)');
>
> ParamByName('del').AsInteger := 0;
>
> if EdtSzukaj.Text <> '' then
> ParamByName('s').AsString := '%' + UpperCase(szukaj) + '%';
> Open;
>
> Wyszukuje i działa i zgodnie z Upper - nie zważa przy szukaniu czy "anna" czy "Anna".
>
> Do momentu gdy ktos ma na imię Żaneta.
>
> Wpisanie żaneta (małe ż) nie znajduje ale Żaneta -tak założone w bazie (duże znajduje). Zachowuje sie tek jakby upper nie działał do dużej polskiej litery.
>
> Baza FB 2.5
> win 1250
> col 3.0
Nie wiem czy w 2.5 jest, ale gdybyś użył collate case insensitive to byś
nic nie musiał kombinować.
Poza tym pokaż DDLa od tabeli i od indeksu.
--
pozdrawiam
Roman Tyczka
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads