• 4194阅读
  • 1回复

[提问]Qt调用mysql程序输出重定向问题 [复制链接]

上一主题 下一主题
离线sword_master
 

只看楼主 正序阅读 楼主  发表于: 2014-06-19
  1. QString cmd = QString("E:\\MySQL Server 5.6 \\bin\\mysqldump.exe");
  2. QStringList m_list;
  3. m_list<<QString("-u%1").arg(username)<<QString("-p%1").arg(password)<<"testDB"<<"table1";
  4. QString path = "E:\\backup.sql";
  5. QProcess *poc=new QProcess;  
  6. poc->setStandardOutputFile(Path);  
  7. poc->startDetached(cmd,m_list);
创建了一个process
利用mysql自带的 mysqldump命令 导出导入数据
由于mysql目录有空格 所以 把命令拆开了  大概是上面那样


但是在E盘根目录 找不到导出的文件 我试着用bool值接 startDetached的返回值 是true 而且在执行过程中 DOS黑框闪出来了一下 为什么没有导出呢?
我把startDetached 换成start就可以了 但是 用start我怎么知道导出有没有成功呢? 只能去目录看有点不科学

我试着把 " <E:\\backup.sql" 加到list里面去 但还是没有效果 肿么办
小弟也不懂 这些也都是网上查的资料

??
离线dbzhang800

只看该作者 1楼 发表于: 2014-06-20
1. startDetached 是 static 成员,你对QProcess对象做的任何设置,都与它无关

2. ">" 是控制台或终端中的重定向符,要使用它,你必须启动控制台或终端程序。或者你想要的只是一个 system("...")
快速回复
限100 字节
 
上一个 下一个