QT SQLite select不返回任何数据
QT SQLite select returns no data
我的QT SQL选择不返回任何数据:
//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,但结果相同:
query.result - 0x3c6ed8
query.size - -1
我花了一整天的时间在谷歌上寻找任何解决方案,但无济于事,仍然不知道我的代码出了什么问题。
在SELECT之前尝试了INSERT,INSERT工作正常,但SELECT仍然不返回任何内容:
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 " <<
}
发现问题所在,QSqlQuery::size()函数不工作,它总是返回-1。因此,不要使用此函数来查找行数。代替使用.first().next()函数。此代码工作正常:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:/temp/atsakymai_1.db");
if (!db.open())
{
qDebug() << "error!!!";
}
QSqlQuery query(db);
query.prepare("SELECT id, transportas FROM 't_transportas'");
if (!query.exec())
{
qDebug() << "SQL error: "<< query.lastError().text() << endl;
}
query.first();
qDebug() << "found: " << endl;
while (query.next())
{
qDebug() << query.value("id").toString() << ". " << query.value("transportas").toString();
}
Asnwer在这里找到:QtSQL+Sqlite和对.size()函数的支持?
相关文章:
- 从输入中删除重复项,而不使用任何数据结构
- 有没有办法在函数 c++ 中输入任何数据类型?
- 我们可以直接为任何数据成员赋值. 为什么要使用构造函数?
- glGetBufferSubData() 不返回任何数据?
- 字符串流在清除后不接受任何数据
- GLSL 计算着色器 使用查找表设置缓冲区会导致不写入任何数据,与其他数据设置相同的缓冲区有效
- C 通用函数以除以任何数据类型
- 我可以通过向量附加特征矩阵而不复制任何数据
- 是否有任何数据类型或方法可以计算当前单元格中先前数组单元格的总和
- 将任何数据类型/对象作为参数传递以确定其大小
- 是否要确保一个线程修改的任何数据类型的共享变量对其他线程可见
- RAW ICMP 套接字:recvfrom() 未接收任何数据
- stl 中是否有任何数据结构可以在 O(1) 或 O(log n) 中插入元素,我可以在其上编写自己的bin_searc
- 为什么我的C++ ZeroMQ 订阅者没有收到任何数据
- Adafruit Fona与echo服务器建立连接,但不发送任何数据
- 为什么字符串变量"sum"不存储任何数据,程序不给出任何输出
- 难以创建可以容纳任何数据类型的模板通用向量
- 没有任何数据成员的类会导致内存泄漏吗?
- 引用计数(不存储任何数据)
- CLOB 不包含任何数据