Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql first auslesen des ersten datensatzes (https://www.delphipraxis.net/41360-sql-first-auslesen-des-ersten-datensatzes.html)

Grumble 2. Mär 2005 12:22

Datenbank: Firebird • Version: 1.5.1 • Zugriff über: Zeos SQL

sql first auslesen des ersten datensatzes
 
hallo,

ich habe in einer tabelle 14 datensaetze stehen nun will ich die auslesen und zwar vom ersten bis zum letzten, ich mach dazu folgendes:

Delphi-Quellcode:
  DM.ZQ.SQL.text:='SELECT * FROM ASSET_FIELDS WHERE ASSET_id = ' + IntToStr (caid);
  dm.ZQ.open;
  DM.ZQ.First;
  c:=0;
  while not DM.ZQ.Eof do
  begin
      c:=c+1;
      grd_defs.Rows:=grd_defs.Rows+1;
      grd_defs.Cell[1,c]:='';
      grd_defs.Cell[2,c]:=DM.ZQ.Fieldbyname('NAME').asstring;
      .
      .
      .
    DM.ZQ.Next;
  end;
das funktioniert an sich gut nur dass im grid der erste eintrag der letzte datensatz ist... danach gehts normal weiter, also 2. zeile im grid ist erster datensatz , 2. zeile im grid ist 3. datensatz ....

wuerde man den pk der datensaetze ins grid schreiben wuerde es so aussehn:
14
1
2
.
.
.
13

warum ist das so? hat jemand ne idee?

Jasocul 2. Mär 2005 12:26

Re: sql first auslesen des ersten datensatzes
 
Ich habe mir den Source nicht genau angesehen, aber baue doch mal ein "order by" ins SQL-Statement ein. Nur um sicher zu gehen, dass die DB dir das nicht in der falschen Reihenfolge liefert.

Grumble 2. Mär 2005 12:30

Re: sql first auslesen des ersten datensatzes
 
wie muesste das aussehen?

Delphi-Quellcode:
DM.ZQ.SQL.text:='SELECT * FROM ASSET_FIELDS WHERE ASSET_id = ' + IntToStr (caid);
DM.ZQ.SQL.add('ORDER BY ASSETFIELD_ID');
DM.ZQ.open;
DM.ZQ.First;
c:=0;
while not DM.ZQ.Eof do
.
.
.
funzt so nicht

Hansa 2. Mär 2005 12:33

Re: sql first auslesen des ersten datensatzes
 
Könnte es sein, daß es beim ersten mal richtig ist und danach nicht mehr ?

Grumble 2. Mär 2005 12:34

Re: sql first auslesen des ersten datensatzes
 
ja das auf jeden fall

Hansa 2. Mär 2005 12:39

Re: sql first auslesen des ersten datensatzes
 
Dann ist die Ursache doch klar. Ich sage sie nur nicht. :mrgreen: Welches Grid ist es denn ? StringGrid oder DBgrid ? Bei ersterem mußt du das Stringgrid zuerst mal am Besten leer machen.

ibp 2. Mär 2005 12:44

Re: sql first auslesen des ersten datensatzes
 
Zitat:

Zitat von Grumble
wie muesste das aussehen?

Delphi-Quellcode:
DM.ZQ.SQL.text:='SELECT * FROM ASSET_FIELDS WHERE ASSET_id = ' + IntToStr (caid);
DM.ZQ.SQL.add('ORDER BY ASSETFIELD_ID');
DM.ZQ.open;
DM.ZQ.First;
c:=0;
while not DM.ZQ.Eof do
.
.
.
funzt so nicht

was funzt nicht? fehler oder....

Grumble 2. Mär 2005 12:57

Re: sql first auslesen des ersten datensatzes
 
:)
du willst es nicht sagen :) naja der tip mit dem grid is ja schonmal gut, da kann ich gezielt suchen

Grumble 2. Mär 2005 13:01

Re: sql first auslesen des ersten datensatzes
 
@ibp
syntax error im sql statement

Grumble 2. Mär 2005 13:05

Re: sql first auslesen des ersten datensatzes
 
:wall: :wall: :wall:
@ibp: ach ich bin bloed, sorry, ich war in der zeile verrutscht und hatte das order fuer die falsche tabelle geschrieben, die hatte das zu sortierende feld gar nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz