Я пытаюсь выбрать случайную запись из базы данных, где поле rarity
равно Epic.
Я пытался использовать ORDER BY RAND() LIMIT 1
, но у меня появляется синтаксическая ошибка.
Я также пытался использовать приведенный ниже код:
qryCards.SQL.Add('SELECT * FROM tblCards WHERE Card_Rarity = "Epic"');
qryCards.Open;
Randomize;
iRandom := Random(qryCards.RecordCount);
for i := 1 to iRandom do
begin
qryCards.Next;
end;
sCard := qryCards.FieldByName('Card_Name').AsString;
AddCards(sCard, iQtyEpic);
Я ожидаю, что вывод будет случайной записью, где Card_Rarity
равен Epic
.
Однако я попытался отладитьс ShowMessages
, и даже когда iRandom
= 2 или 3, он дает одну и ту же карту, поэтому я никогда не смогу получить вторую карту.