I have now multiple done this
auto query = stmt.Query(...);
stmt.Prepare(query);
if(stmt.FetchRow()) {
}
I forgot the stmt.execute();.
Instead of having an exception in FetchRow() and then being very confused about what the problem is, it would be better if there was a check that checks if the user ever called .execute() before and informs the user in a clear way that he forgot it.