我正在使用qt creator设计一个gui应用程序。在那里,如果我按下一个按钮,.csv文件中的值将被导入到sqlite3数据库表。
为此,我使用QProcess启动一个包含导入数据命令的shell脚本。
void MainWindow::on_pushButton_clicked()
{
QProcess process;
process.startDetached("/bin/sh", QStringList()<< "/home/aj/myscript.sh");
}
导入的和myscript.sh是 -
echo -e '.separator ","\n.import import_table.csv test_table' | sqlite3 testdatabase.db
这种方法背后的原因是dot命令不能直接集成到c ++ gui程序而不创建自定义解析解决方案。
现在,这种方法(QProcess和shell脚本)对我来说非常有效。但是一个瓶颈就是它没有提供任何错误处理/识别。
例如,如果导入命令在数据检索期间中途停止或者.csv中的所有值都未导入,我就不会知道问题。有没有办法知道导入过程中是否出现问题??? (通过QDebug重定向消息???)
答案 0 :(得分:4)
QProcess有一个名为exitCode()
的成员函数,奇怪的是它返回了进程的退出代码。
http://qt-project.org/doc/qt-5/qprocess.html
找到答案需要在Google上进行10秒的搜索以获取文档...