Возможно я сошел с ума, но...
Есть таблица.
QSqlQuery query;
query.exec("CREATE TABLE DIST ("
"CODE_D INTEGER PRIMARY KEY NOT NULL, "
"NAME_D VARCHAR(20) UNIQUE NOT NULL"
");");
Таблица, к примеру, заполнена значениями:
CODE_D NAME_D
1 alpha
2 beta
3 gama
Дальше я делаю запрос:
QString id = "1";
QSqlQuery query;
query.exec("SELECT NAME_D FROM DIST WHERE CODE_D = "+id+";");
query.next();
QString a = query.value(0).toString();
Если же пытаюсь сделать наоборот - по имени получить код, ничего не выходит:
QString name = "beta";
QSqlQuery query;
query.exec("SELECT CODE_D FROM DIST WHERE NAME_D = "+name+";");
query.next();
QString a = query.value(0).toString();
query.next() возвращает false. Я что-то не понимаю видимо?