sql.next();输出结果是FALSE
时间: 2024-03-16 07:44:45 浏览: 17
`sql.next()` 方法返回一个 `bool` 类型的值,表示是否移动到了下一条记录。如果该方法返回 `false`,则说明查询结果中已经没有更多的记录了。
在您的代码中,`sql.next()` 方法在查询结果之前被调用,因此它返回的值应该是 `false`,表示没有查询结果。
如果您想获取查询结果,请将 `sql.next()` 方法放在循环中,在每次循环中获取一条记录的值,直到 `sql.next()` 返回 `false`,表示查询结束。例如:
```cpp
QSqlQuery sql(jwymechinedb);
QString strsql = QString("select product_modle,assembly_number,bach_number,scheduled_finish_time from t_task where work_station=1 and task_is_finished=0");
sql.exec(strsql);
QList<Task> taskList;
while (sql.next()) {
Task task;
task.product_modle = sql.value(0).toString();
task.assembly_number = sql.value(1).toString();
task.bach_number = sql.value(2).toString();
task.scheduled_finish_time = sql.value(3).toDateTime();
taskList.append(task);
}
```
在上面的代码中,`sql.next()` 方法被放在了 `while` 循环中,每次循环都获取一条记录的值,并将其存储到 `taskList` 容器中。当查询结束后,`sql.next()` 方法返回 `false`,循环结束。