Мой QT SQL SELECT не возвращает данные:QT SQLite не выбран возвращает никаких данных
//connect DB
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:/temp/atsakymai_1.db");
if (!db.open())
{
qDebug() << "Connection error!!!";
}
QSqlQuery query;
query.prepare("SELECT * FROM transportas");
if (!query.exec())
{
qDebug() << "SQL error: "<< query.lastError().text() << endl;
}
qDebug() << query.executedQuery();
qDebug() << query.result();
qDebug() << query.size();
query.first();
while (query.next())
{
qDebug() << "found " << endl;
}
судимое написать этот путь - C: \ Temp \ atsakymai_1.db, но результат тот же: qurey .result - 0x3c6ed8 query.size - -1
У меня был весь день в google, но это не помогло, но до сих пор не знаю, что не так с моим кодом.
судимых ВСТАВИТЬ Перед SELECT, INSERT работает без ошибок, но не помечать возвращает ничего:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:/temp/atsakymai_1.db");
if (!db.open())
{
qDebug() << "error!!!";
}
QSqlQuery query(db);
query.exec("insert into t_transportas (transportas) values ('asdasd22')");
query.exec("SELECT id, transportas FROM 't_transportas'");
qDebug() << query.executedQuery();
qDebug() << query.result();
qDebug() << query.size();
if (query.size()> 0)
{
qDebug() << "found " <<
}
QT является QuickTime, Qt является основой ... вам необходимо подготовить запрос делать то, что происходит, если вы просто попробовать: 'QSqlQuery запрос («SELECT * FROM transportas;»); bool success = query.exec(); while (query.next() == true) { qDebug() << query.value (0) .toString(); } ' –
@Alchazar Вы можете подтвердить, что db.open() работает нормально? Возвращает ли query.exec() true? У вас есть приложение типа SQLite explorer, которое может подключиться к этому файлу, чтобы проверить наличие в нем данных? Мне нравится использовать «select count (*) из mytable», поскольку он всегда возвращает одну строку, если таблица присутствует в базе данных. –
@TheBadger попробовал ваш код, результат тот же - ничего не получалось. – Alchazar