Avatar billede kennethv Nybegynder
03. februar 2009 - 14:55 Der er 6 kommentarer og
1 løsning

ADOQuery med LIKE operator

Jeg har et lille problem med en query og LIKE operator.

Mit mål er at kunne søge i en db og finde alle som starter med søgekriterie, f.eks. Kenneth

Jeg har så prøvet dette:
strTemp := 'SELECT cn FROM ' + QuotedStr('LDAP://OU=USERS,' + edit2.Text ) + ' where cn like ' + QuotedStr(temp[i]+'%');

query1.SQL.Text := strTemp;

Den fejler her med "One or more errors occurred during processing of command"

Hvis jeg gør sådan:

strTemp := 'SELECT cn FROM ' + QuotedStr('LDAP://OU=USERS,' + edit2.Text );

query1.SQL.Text := strTemp;

har jeg ingen problemer.

Er min SELECET WHERE LIKE statement forkert?
Avatar billede a_nor Nybegynder
03. februar 2009 - 18:14 #1
Hej Kenneth

hvilken DB bruger du ? og hvad indeholder din strTemp når du indsætter den i *.text
Avatar billede kennethv Nybegynder
03. februar 2009 - 22:31 #2
Jeg kan ikke helt sige dig hvad min DB er, da det er Active Directory jeg laver forspørgelsen i. Men hvis jeg skifter Where CN LIKE ud med Where CN='Kenneth*' så virker det. Så får jeg alle dem der starter med Kenneth
Avatar billede arne_v Ekspert
04. februar 2009 - 00:56 #3
I spørgsmålet bruger du % men nu snakker du om * ??
Avatar billede kennethv Nybegynder
04. februar 2009 - 09:13 #4
Ja, det er korrekt. Er der nogen forskel på det?
Avatar billede arne_v Ekspert
04. februar 2009 - 15:12 #5
De fleste databaser accepterer kun %.

Access bruger *.

Jeg aner ikke hvad LDAP bruger.

Jeg synes ihvertfald at du skal bruge det samme i din kode og i din manuelle test.
Avatar billede kennethv Nybegynder
04. februar 2009 - 15:38 #6
Ville det ikke være muligt at lave en select på denne her måde?

SELECT CN FROM 'LDAP://OU=USERS,OU=SO,OU=DK,OU=FIRMA,DC=AD,DC=FIRMA,DC=ORG' WHERE CN = 'Kenneth*' OR WHERE SAMACCOUNTNAME = 'Kenneth*'
Avatar billede kennethv Nybegynder
04. februar 2009 - 16:31 #7
Fandt løsningen:

SELECT CN FROM 'LDAP://OU=USERS,OU=SO,OU=DK,OU=FIRMA,DC=AD,DC=FIRMA,DC=ORG' WHERE CN = 'Kenneth*' OR SAMACCOUNTNAME = 'Kenneth*'
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