Results 1 to 8 of 8

Thread: Query help

  1. #1

    Query help

    Ik heb een edit1.text en zodra er produktnaam in wordt getypt moet de query gaan
    werken.
    Alles werkt maar dan moet ik wel de hele naam typen en ik wil al meteen beginnen met zoeken. B.v Ik zoek de naam gasbrander en ik typ g dan moet alles met een g zichtbaar worden.
    Wat is hier verkeerd aan ik gebruik dbisam als database.

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    Query1.close;
    Query1.SQL.clear;
    query1.SQL.Add('select * from depaletiser where Produkt = ''' + edit1.text+'*''');
    query1.open;
    if (edit1.text = '') then begin
    Query1.close;
    Query1.SQL.clear;
    query1.SQL.Add('select * from depaletiser');
    query1.open;
    end;
    end;

  2. #2
    Probeer het volgende eens :

    CODE]procedure TForm1.Edit1Change(Sender: TObject);
    begin
    with
    Query1 do
    begin

    Close;
    SQL.clear;
    SQL.Add('select * from depaletiser');

    if (edit1.text <> '') then
    SQL.Add(Format('where Produkt LIKE %s%', [Edit1.text]));

    Open;
    end;
    end;

    [/CODE]

    Laatste procentje (Wildcard in SQLServer) moet je even vervangen met de wildcard in DbIsam
    *Er bestaat geen bugs, alleen leerpunten*

  3. #3
    Hoi dat laatste begrijp ik niet goed met die wildcart want dbisam kan ik niets instellen.
    Mijn project draait met jou code maar toets ik iets in krijg ik deze foutmelding:

    SQL error- constant expression expected after LIKE operator,instead found 'B' in WHERE or JOIN clause.

    Wat betekend dit.

  4. #4
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Misschien zo:
    Code:
    query1.SQL.Add('select * from depaletiser where Produkt LIKE ' + QuotedStr(edit1.text+'*'));
    Groetjes van Jeroen

  5. #5
    Met die wildcard bedoel ik het standaard wildcard symbool van DBISAM. Je zei het zelf al, in DbISam kent hij "%" niet. Dit is ook het wildcard symbool van SQLServer.

    Waarschijnlijk moet je een "*" invullen na die "%s". Zodat de query dus als

    select ... ... like 'b*'

    door wordt gevoerd....

    HTH
    *Er bestaat geen bugs, alleen leerpunten*

  6. #6
    He jongens het werkt niet moet de hele naam intypen dan vindt ie het wel.
    Zelfs hoofdletter gevoelig is ie.

  7. #7
    aan dat hoofdlettergevoelig kun je iets doen nl.

    SELECT PRODUCT
    FROM PRODUCT
    WHERE UPPER(Product) LIKE "'% + UpperCase(hierjouwwaarde) + %'"

    wat voor DBISAM de wildcards zijn heb ik geen idee van

  8. #8
    Bite me! Tommy's Avatar
    Join Date
    Jan 2002
    Location
    Rdam
    Posts
    564
    Persoonlijk vind ik een increment(i)al search juist fijner met case sensitivity. Rxlib heeft trouwens ook hele simpele comboboxjes met increment(i)al search. Het enige na/voordeel is, is dat je geen waarde in kan tikken die niet in je colomn staat..

    Dus stel dit is je column:

    Dees
    Casper
    Marcel
    Richard
    Cryo
    Anders

    Kan je niet in tikken Tommy, omdat die niet voorkomt, maar ik vind het prima zo, erg handig ook .

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 7
    Last Post: 14-Nov-04, 20:09
  2. Probleem met een QUERY
    By Delphibeginner in forum Databases
    Replies: 15
    Last Post: 20-Nov-03, 21:18
  3. Idee?½n voor het maken van een query wizard
    By PietZa in forum Databases
    Replies: 3
    Last Post: 24-Apr-03, 01:02

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •