[SQL Delphi] Zoeken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik heb een databse met een kolom CD en een kolom Programma.
Nu wil ik in een editbox iets in typen en dat de query alle records laat zien waar het opgegeven woord in de kolom programma in voor komt.

De script die ik probeer te draaien is:

Temp:=Edit1.Text;
Query1.SQL.Add(‘SELECT * FROM CDDB’) ; //CDDB is mijn database
Query1.SQL.Add(‘WHERE Programma LIKE %Temp%‘);
Query1.Open;

Dan laat de query1 niets zien.


Alvast bedankt

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:39
Verdiep je eens in de materie....

Je query laat niets zien... Hoezo hij laat niets zien? Geeft hij waardes terug?

Haal je die waardes op en toon je ze ergens op uw form?
Heb je evt een TDatasource aan die query hangen enz....

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:39
Uw Where clause gaat er ook zo uit zien:

code:
1
WHERE programma LIKE %Temp%

terwijl jij misschien wilt
code:
1
WHERE programma LIKE %Office%



Ik stel voor dat je eens een boek haalt in de bib over Delphi.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Table1 laat de Database. Die word weggeschreven in DataSource1. query1 haalt het uit de Datasource1 en schrijft het weg in Datasource2. DBGrid haal het uit DataSource2.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:39
Table1 heb je niet nodig.
Kijk nog eens naar m'n 2de post.

Kijk ook eens in de delphi help naar de functie ParamByName enzo....
of bouw uw SQL string goed op.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
WHERE programma LIKE %Temp%

heb ik al geprobeerd maar dat werkt niet

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik de functie ParamByName gebruik geeft Delphi een foutmelding. Een voorbeeld van de functie ParamByName vond ik op het internet. Maar wekt niet

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:39
Temp is een variable. Daar zit een waarde in.
Met uw code ga jij alle programma's zoeken waar er Temp in de naam voorkomt, terwijl je wilt zoeken op programma's waar er 'de inhoud van de variable temp' in de naam voorkomt.

(En dan nog, als je zoekt op een string-veld moet je quotes gebruiken).

En als je ParamByName op een goede manier gebruikt, werkt dat perfect. Kijk eens in de Help.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In mijn eerste bericht staat het verkeerd. Maar ik gebruik

Query1.SQL.Add('WHERE Programma LIKE '%Temp%' ');

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:39
Herlees nog eens alle berichten en denk eens logisch na....
Meer kan ik er ook niet over zeggen hoor.

https://fgheysels.github.io/

Pagina: 1