/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Sortering af dbgrid
Fra : Carsten Mortensen


Dato : 31-10-06 20:40

Hej

Har indlæst data fra en tabel (Paradox), og viser de ønskede data via et
dbgrid.
Jeg ville godt have at når jeg trykker på et af titelfelterne i dbgrid, så
bliver data i dbgridet sorteret efter det ønskede felt.

Har forsøgt med følgende procedure, men der sker ikke nogen sortering,
feltet bliver farve ændres til blå
som forventet men ellers sker der ikke noget.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
With Query1 do
Begin
DisableControls;
Close;
SQL.Clear;
SQL.Add('select * from slgdata');
SQL.Add('Order by ' + column.FieldName);
Open;
DBGrid1.Columns.RestoreDefaults;
Column.Title.Font.Color := clBlue;
EnableControls;
end
end;

Nogen forslag til hvad der evt. er galt?

bruger delphi 6 pro

mvh
Carsten



 
 
Uffe Kousgaard (01-11-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-11-06 08:12

"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>
> Nogen forslag til hvad der evt. er galt?

Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
se at din SQL rent faktisk bliver eksekveret.

Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle fald
haft held med til samme problemstilling engang.

hilsen
Uffe



Carsten Mortensen (01-11-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 01-11-06 08:51


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:454848e1$0$2093$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>>
>> Nogen forslag til hvad der evt. er galt?
>
> Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
> se at din SQL rent faktisk bliver eksekveret.

Hej Uffe,
Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
bliver esekveret??
jeg er gået helt død.


>
> Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle
> fald haft held med til samme problemstilling engang.
>

hvordan får jeg ændret i min sætning så jeg kan bruge index felt istedet for
order by??
> hilsen
> Uffe
>
>



Uffe Kousgaard (01-11-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-11-06 09:24

"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:454851da$0$14035$edfadb0f@dread15.news.tele.dk...
>
> Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
> bliver esekveret??

SQL.Add('select * from slgdata');
SQL.Add('where .....');
SQL.Add('Order by ' + column.FieldName);

Så skulle du gerne kunne se, at dbgrid'en indeholder færre records.

hilsen
Uffe



Carsten Mortensen (01-11-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 01-11-06 09:47


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:4548599c$0$2099$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:454851da$0$14035$edfadb0f@dread15.news.tele.dk...
>>
>> Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
>> bliver esekveret??
>
> SQL.Add('select * from slgdata');
> SQL.Add('where .....');
> SQL.Add('Order by ' + column.FieldName);
>
> Så skulle du gerne kunne se, at dbgrid'en indeholder færre records.

Hej Uffe

Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
kørt?

mvh

Carsten


>
> hilsen
> Uffe
>
>



Uffe Kousgaard (01-11-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-11-06 10:39

"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:45485f0c$0$14043$edfadb0f@dread15.news.tele.dk...
>
> Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
> udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
> kørt?

Hvis den ændring af koden gjorde at der pludselig slet ikke kommer noget i
dbgridden, så er der nok noget helt andet i vejen. Jeg kan ikke gætte, hvad
det er herfra.

hilsen
Uffe



Carsten Mortensen (01-11-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 01-11-06 12:11


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:45486b48$0$2106$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:45485f0c$0$14043$edfadb0f@dread15.news.tele.dk...
>>
>> Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
>> udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
>> kørt?
>
> Hvis den ændring af koden gjorde at der pludselig slet ikke kommer noget i
> dbgridden, så er der nok noget helt andet i vejen. Jeg kan ikke gætte,
> hvad det er herfra.
>
> hilsen
> Uffe
>
Hej Uffe

Jeg fik udtrykt mig lidt forkert, jeg mener der sker ingen ændringer i
dbgridet, der står de samme data som der stod før jeg kørte SQL
foresåørgelsen. Det ser ud til at det måske ikke bliver opdateret eller hvad
ved jeg.

Jeg er kommer ud over det ved at anvende indexfelter istedet for. men jeg
syntes det er underligt.



Carsten Mortensen (01-11-2006)
Kommentar
Fra : Carsten Mortensen


Dato : 01-11-06 09:13


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:454848e1$0$2093$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>>
>> Nogen forslag til hvad der evt. er galt?
>
> Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
> se at din SQL rent faktisk bliver eksekveret.

Hej
Når jeg indsætter et break point i min kode ved proceduren dbgrid1titleclik,
så der det ud til at den løber rigtigt igennem. Men hvordan kan man ellers
kontroller om der kommer data ud af SQL forespørgelsen?

mvh Carsten
>
> Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle
> fald haft held med til samme problemstilling engang.
>
> hilsen
> Uffe
>
>



Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste