QT/SQLITE - 数据库上的奇怪符号
QT/SQLITE- Weird symbol on database?
我想知道为什么当我使用 SQLite 管理器查看我的表时,我会得到这个奇怪的符号,其中包含一个框,其中三个角封装了 3 个 0,最后一个角封装了一个 3。如果我使用 QString,小时是否仍然可以像处理整数值一样操作小时列?谢谢
void FirstWindow::on_pushButton_clicked()
{
FirstWindow conn;
QString rowid,Activity,thehours;
Activity=ui->lineEdit->text();
rowid=3;
thehours=1;
conn.connOpen();
QSqlQuery qry;
qry.prepare("insert into datatable (row,activity,hours) values('"+rowid+"','"+Activity+"','"+thehours+"')");
//if this is good
if(qry.exec())
{
this->hide();//hiding current ui
mainwindow = new MainWindow(this);
mainwindow->show();
conn.connClose(); //close after inserting another
}
首先,你的列是字符串还是整数?
我会检查 ui->lineEdit->text() 是否真的返回了一个数字。
其次,为要保存/加载的数据(整数、字符串、实数等)设置正确的列类型。这样,QSQLite 错误将更有帮助。
第三,你应该避免连接字符串来准备一个sql查询(想象一下,如果rowid包含一个'字符!)。最好的方法是使用 sqlite 占位符调用 prepare,然后添加值:
QSqlQuery qry;
qry.prepare("insert into datatable (row,activity,hours) values(?, ?, ?");
qry.addBindValue(rowid);
qry.addBindValue(Activity);
qry.addBindValue(thehours);
if(!qry.exec())
{
qDebug() << qry.lastError();
}
相关文章:
- 查询SQLite数据库中的日期
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- vscode g++链路故障:体系结构x86_64的未定义符号
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 如何在ArangoDb AQL查询中指定数据库
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- 从数据库实时显示QT c++中的数据
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- QT/SQLITE - 数据库上的奇怪符号
- Qt从数据库中获取重音符号