D: (ddbc) 我可以用一个请求做 SELECT 吗?

D: (ddbc) can I do SELECT with one request?

我正在使用https://github.com/buggins/ddbc

示例明确显示如何执行 SELECT 请求:

auto rs = stmt.executeQuery("SELECT id, name name_alias, comment, ts FROM ddbct1 ORDER BY id");
while (rs.next())
    writeln(to!string(rs.getLong(1)) ~ "\t" ~ rs.getString(2) ~ "\t" ~ strNull(rs.getString(3)));

但是我可以用更短的形式来做吗?例如没有while。这个请求可以用其他形式写吗?

取决于你对"one request"的定义。 select 语句只执行一次,然后 rs 提供指向结果的指针,这可能是对 SQL 服务器的多次请求(但我不认为它总是如此)。

看起来库提供了一种使用结构来描述数据布局的方法,在这种情况下,您可以在一行中获取所有数据(定义结构后):

auto users = stmt.select!User.array