0

尝试选择 4 个随机行时不断出错。不确定我是否获得了执行此操作的 snytax 权利。另请注意,我正在使用访问数据库。另请注意.. ManaTypes 是一个字符串数组。

with adoquery1 do
begin
  close;
  sql.Clear;
  sql.Add('SELECT * ');
  sql.Add('FROM Cards ');
  sql.Add('WHERE Color='+ManaTypes[i]+' ORDER BY RAND() Limit 4');
  open;
end;

在查询表达式'Color ='中获取错误'snytax错误(缺少运算符)

4

1 回答 1

2

尝试

sql.Add(
   'SELECT Top 4 *
    FROM
    (
       SELECT *, Rnd(ID) AS RandomValue
       FROM Cards 
       WHERE Color = "' + ManaTypes[i] + '"
    )
    ORDER  BY RandomValue'
于 2013-10-21T10:38:42.087 回答