Avatar billede madshenrik Nybegynder
14. september 2000 - 22:39 Der er 6 kommentarer og
2 løsninger

Avanceret sql

Jeg skal lave en søge funktion, der fungere på samme måde som f.eks. delphis egen search -> find. Funktionen skal altså kunne finde alle de rows der indeholder ordret class. Det vil sige hvis jeg søger på class skal den finde publicclass, classpublic etc. hvis man siger at standard sql søge funktionen ser sådan her ud:
findfirma.sql.add(\'where forretningsnavn = :firmanavnet\' );
findfirma.ParamByName(\'firmanavnet\').asstring := edit1.text;
Hvordan skal det se ud hvis man ønsker ovenstående. 

Mads
Avatar billede pellelil Nybegynder
14. september 2000 - 23:36 #1
I hvilket felt (felttype?) skal du søge?. Hvis du vil søge i en Text/Blob kan du få problemer (alt efter hvilken database du bruger). Skal du i stedet søge i normale streng/char felter så kan du bruge \"like\" i stedet for \"=\" (hvor % bruges som wildcard):

where bla.bla. like \"%class%\"
Avatar billede sjensen Nybegynder
15. september 2000 - 09:58 #2
Som pellelil siger kan du kun søge efter tekst i tekstfelter og ikke i memofelter. Du kan bruge følgende hvis forretningsnavn er et tekstfelt:

findfirma.sql.add(\'where forretningsnavn LIKE :firmanavnet\' );
findfirma.ParamByName(\'firmanavnet\').asstring := \'%\'+edit1.text+\'%\';


Avatar billede madshenrik Nybegynder
15. september 2000 - 10:26 #3
Jeg bruger paradox. Hvad er problemet med text/blob. jeg kan ikke helt huske hvad formattet hedder i paradox men er det ikke noget i retning af alpha.
Avatar billede sjensen Nybegynder
15. september 2000 - 11:01 #4
Et blobfelt i paradox kan ikke indexeres, forstået på den måde at du ikke kan splitte det op i ord og søge på enkelte ord eller sætninger. Det kan du derimod i et tekstfelt (type A)

Hvis firmanavn ikke er et tekstfelt (alpa) er det formentligt et memo-felt og så kan du ikke bruge LIKE. Check lige dit format i databasen.
Avatar billede madshenrik Nybegynder
15. september 2000 - 16:24 #5
Jeg har brugt alpha.
Avatar billede pellelil Nybegynder
15. september 2000 - 19:24 #6
Har du brugt \"Alpha\" så kan du også bruge \"like\" - prøv det !!!
Avatar billede madshenrik Nybegynder
15. september 2000 - 22:51 #7
Har prøvet det, det virker fint mange tak for hjælpen. Der kommer lige et nyt spørgsmål om avanseret sql.

Mads
Avatar billede delphi Nybegynder
18. september 2000 - 09:35 #8
Jeg er væk en halv uges tid, og så kommer der lige et af mine favorit spørgsmål mens jeg er væk... øv..

Delphi
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester