Er ikke så kompetent i Delphi og slet ikke i SQL. Databasen er fra Paradox 7, hvor typen på datokolonnen er markeret som 'D', hvilket er det almindelige Date format. Jeg har ikke specificeret en maske.
Du må ALDRIG skrive en dato direkte sådan. Det vil altid gå galt. Du skal bruge parameter: SELECT * FROM interest_table.db WHERE Dato = :EnDato Og så sætte parameteren på TQuery: Query1.ParamByName('EnDato').AsDate := Date; Så burde det virke.
Det er tættere på at virke end nogensinde før - dvs. jeg får ingen fejl, men mit TDBgrid viser ikke nogen resultater, hvilket det burde gøre. Jeg har skrevet følgende:
Query1.Close;{close the query} Query1.SQL.Clear; Query1.SQL.Add ('Select *'); Query1.SQL.Add ('FROM interest_table.db'); Query1.SQL.Add ('WHERE Dato =:30-06-2004'); Query1.ParamByName('30-06-2004').AsDate := Date; Query1.active:=true;
Query1.SQL.Add ('WHERE Dato =:EnDato'); Query1.ParamByName('EnDato').AsDate := Date;
Date angiver datoen. Date returnerer en TDateTime - du kan også få en sådan ved at skrive: var Dato: TDateTime; begin Dato := StrToDate('30-06-2004'); // skrives jf. din locale sættings
Query1.SQL.Add ('WHERE Dato =:EnDato'); Query1.ParamByName('EnDato').AsDate := Dato; // læg her mærke til Dato - ikke Date som før
Helt perfekt - det virker suverænt. En lille strøtankte - kunne man komme igennem ved blot at benytte Object Inspectorens SQL String List Editor? Eller skal man kode det?
Ville gerne give point til kammeyer, men det kan jeg åbenbart ikke når kammeyer kun har postet en kommentar...
Jo, query parametre er en Delphi feature, som egentligt ikke har noget med SQL at gøre. Delphi vil runtimer erstatte ':EnDato' med indholdet i Query1.ParamByName('EnDato') i SQL udtrykket inden det sendes til database driveren.
Jepper - jeg var lidt for hurtig på aftrækkeren - det jeg ville skrive var blot at det ikke var en del af Pascal syntaksen.
:)
Synes godt om
Ny brugerNybegynder
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.