使用 QProcess 恢复 MySQL 数据库,无法真正使用像 '<' 这样的简单重定向。

发布于 2024-12-08 03:38:08 字数 437 浏览 2 评论 0 原文

因此,首先通过 QFileDialog 检索文件名,进入 fName ,并且:

  QProcess *proc = new QProcess ();
  QStringList arguments;
  arguments << "-u" << "USER_NAME"
            << "-pPASS_WORD" << "<"
              << fName;
#ifdef WIN32
    proc->start("mysql.exe" , arguments);
#else
    proc->start("mysql" , arguments);
#endif

但这不起作用,我总是看到“mysql --help”的输出,似乎 提供了错误的参数。但是,请手动执行此操作。

So first retrieve file name by QFileDialog , into fName , and:

  QProcess *proc = new QProcess ();
  QStringList arguments;
  arguments << "-u" << "USER_NAME"
            << "-pPASS_WORD" << "<"
              << fName;
#ifdef WIN32
    proc->start("mysql.exe" , arguments);
#else
    proc->start("mysql" , arguments);
#endif

But this just dont't work , i always see the output of what "mysql --help" does , seems
that wrong parameters are provided. However , manually execute this works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云雾 2024-12-15 03:38:08

您不应该使用参数重定向标准输入。使用 setStandartInputFile(const QString & fileName) 代替。

You shouldn't redirect stdin with arguments. Use setStandartInputFile(const QString & fileName) instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文