![]() |
Re: wie kann man einen zufälligen datensatz auswählen?
:wiejetzt:
ich benutze eine tabelle und paradox 7... |
Re: wie kann man einen zufälligen datensatz auswählen?
TTable, TQuery TADOQuery usw. sind alles nachfahren von TDateSet und sollten darum alle die Funktion .RecordCount haben.
Wobei die Methode von GeorgeWNewbie natürlich die beste bei einem Query ist. Es müsste aber so aussehen:
SQL-Code:
SELECT count (*) AS reccount FROM tabelle
|
Re: wie kann man einen zufälligen datensatz auswählen?
TTable habe ich noch nie benutzt... :gruebel:
Das ganze müsste aber auch mit einer BDE-Query funktionieren. In RecCount (welch' Überraschung) steht dann die Anzahle der Einträge. ( natürlich "'FROM Tabelle';" durch deinen Tabellennamen ersetzen. ) |
Re: wie kann man einen zufälligen datensatz auswählen?
musses dann so aussehen??:
Delphi-Quellcode:
var
maxi: integer; zufallszahl: integer; [...] randomize; maxi := SELECT count (*) AS reccount FROM tabelle; zufallszahl := random(maxi); select * from tabelle limit ' + zufallszahl + ',1'; |
Re: wie kann man einen zufälligen datensatz auswählen?
Wie gesagt, ich habe keine Ahnung von TTable, aber ich denke es müsste so aussehen:
Delphi-Quellcode:
...
Query.SQL.Text := 'SELECT COUNT(*) RecCount' + #10 + 'FROM Tabelle'; Query.Open; RecCount := Query.FieldValues['RecCount']; Randomize; ZufallsZahl := Random(RecCount); Table.SQL.Text := 'SELECT *' + #10 + 'FROM Tabelle' + #10 + 'LIMIT ' + ZufallsZahl + ', 1'; ... |
Re: wie kann man einen zufälligen datensatz auswählen?
ne das geht nicht..
|
Re: wie kann man einen zufälligen datensatz auswählen?
so...hab was gefunden:
Delphi-Quellcode:
ganz simpel
Anzahl := Table1.RecordCount;
|
Re: wie kann man einen zufälligen datensatz auswählen?
Delphi-Quellcode:
Hier gibts noch einen Fehler:
var
maxiEng: Integer; zufallszahl: Integer; [...] begin maxiEng := FormVocsEng.TableEng.RecordCount; zufallszahl := random(maxiEng); 'select * from FormVocsEng.TableEng limit' + IntToStr(zufallszahl) + ',1'; //<- Fehler Hier end; [...] Anweisung erforderlich, aber Ausdruck vom Typ 'String' gefunden. Wenn ich die ' weglasse weiß er nicht was select ist: Undefinierter Bezeichner: 'select' [edit]Hab herausgefunden, dass Delphi5 Prof. anscheinen kein select kennt..muss man da was downloaden?[/edit] Kann mir da jemand helfen? |
Re: wie kann man einen zufälligen datensatz auswählen?
Du kannst ihm nicht einfach ein SELECT-Statement geben.
Delphi weiß doch gar nicht, was es damit machen soll. Wenn du dir meinen Code angeschaut hast, müsste dir das aufgefallen sein:
Delphi-Quellcode:
Damit gibst du der Table1 (Typ TTable) ein SELECT-Statement. Ich bin mir aber nicht sicher, wie man es bei TTable ausführt ( :gruebel: ). Höchstwahrscheinlich mit Table1.Open oder Table1.Refresh.
Table.SQL.Text :=
'SELECT *' + #10 + 'FROM Tabelle' + #10 + 'LIMIT ' + IntToStr(ZufallsZahl) + ', 1'; |
Re: wie kann man einen zufälligen datensatz auswählen?
was ist mit TQuery??
Delphi-Quellcode:
Was muss an der markierten Stelle hinter WHERE eingefügt werden wenn man wissen will WO die Datensatznummer ist, die zufällig gewählt wurde?
Query.Active:=false;
Query.Sql.Clear; Query.Sql.Add('SELECT Deutsch FROM FormVocsEng.TableEng WHERE ?? ');//<---HIER!! Query.Active:=true; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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