Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi wie kann man einen zufälligen datensatz auswählen? (https://www.delphipraxis.net/15987-wie-kann-man-einen-zufaelligen-datensatz-auswaehlen.html)

Robert_G 8. Feb 2004 18:19

Re: wie kann man einen zufälligen datensatz auswählen?
 
Du kannst Delphi & SQL nicht vermischen.
Deine Abfrage wird von der DB verarbeitet, die hat aber keine Ahnung von den Objekten in deinem Delphi-Code.
Vielleicht solltest du dich hier mal ein wenig über SQL schlau machen.

Zur Frage:
In der SELECT- & in der WHERE-Clause einer Abfrage kannst du nur Spaltennamen der Tabellen verwenden, die nach FROM stehen.
z.Bsp.:
SQL-Code:
SELECT Feld1
FROM  Tabelle
WHERE Feld2 = 1

(@all Ich weiß, das man auch noch Funktionen ,... benutzten kann, die Erklärung würde jetzt einfach zu weit gehen)

Diese Tabellen müssen in der Datenbank existieren (deshalb kannst du dort kein Delphi-Objekt à la "FormVocsEng.TableEng" angeben).

Da du jetzt auf TQuery umgestiegen bist versuch' es doch mal so:
Delphi-Quellcode:
  With Query Do
  Begin
    Active := False;
    SQL.Text :=
      'SELECT *' + #10 +
      'FROM  Tabelle' + #10 +
      'LIMIT ' + IntToStr(ZufallsZahl) + ', 1';
    Open;
  End;
Ersetze Tabelle jetzt noch mit dem Tabellenname in deiner DB und du hast deine Abfrage.

grayfox 9. Feb 2004 02:27

Re: wie kann man einen zufälligen datensatz auswählen?
 
hallo phönix!

mach bitte keine doktorarbeit aus deinem problem ;)
bleib bei deinem table und sieht dir die methode MoveBy an. mit ihrer hilfe und deiner zufälligen zahl solltest das gewünschte ergebnis rasch erreichen können.
wie luckie schon früher bemerkt hat - einen ttable auf die form ziehen, ihn markieren, auf F1 drücken und du wirst schon fündig ;)

mfg, stefan

Alibi 9. Feb 2004 11:29

Re: wie kann man einen zufälligen datensatz auswählen?
 
Alternative Lösung:
SELECT * FROM 123 ORDER BY RAND() LIMIT1;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.
Seite 3 von 3     123   

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