![]() |
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:
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 ....
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; 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? |
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.
|
Re: sql first auslesen des ersten datensatzes
wie muesste das aussehen?
Delphi-Quellcode:
funzt so nicht
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 . . . |
Re: sql first auslesen des ersten datensatzes
Könnte es sein, daß es beim ersten mal richtig ist und danach nicht mehr ?
|
Re: sql first auslesen des ersten datensatzes
ja das auf jeden fall
|
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.
|
Re: sql first auslesen des ersten datensatzes
Zitat:
|
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 |
Re: sql first auslesen des ersten datensatzes
@ibp
syntax error im sql statement |
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 |
Re: sql first auslesen des ersten datensatzes
@hans:
hm also das problem scheint mit dem order geloest zu sein, es wird wohl doch nicht an dem liegen was du dachtest... |
Re: sql first auslesen des ersten datensatzes
man kann auch beiträge editieren! ^^^^
|
Re: sql first auslesen des ersten datensatzes
Wenn man von einem SQL-Server eine Datenmenge verlangt, ohne die Sortierung anzugeben, dann ist die Reihenfolge der Datensätze willkürlich (während sie bei einer Desktop-Datenbank i.d.R. der Eingabereihenfolge entspricht).
Es wäre sogar möglich, dass die Reihenfolge bei jedem Durchlauf der Abfrage unterschiedlich ist. (Nur zum Verständnis). Urs |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz