RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1421673
Accepted
Nedaxses
Nedaxses
Asked:2022-08-19 06:13:14 +0800 CST2022-08-19 06:13:14 +0800 CST 2022-08-19 06:13:14 +0800 CST

Qt 如何正确编写 SQL 查询

  • 772

Qt。我正在注册。目前我正在检查这样的邮件是否已经注册,如果没有,注册,如果是,显示QMessageBox

QSqlQuery qry;
        //Checking is email has already registered
        qry.prepare("SELECT `email` FROM `users` AS `:email` WHERE `email` = `:email`");
        qry.bindValue(":email", emailforcheck);
        
        bool isntreg = true;
        if(qry.exec())
        {
            QMessageBox::information(this, "s", emailforcheck); // вывод переменной для проверки что записалось
            if(emailforcheck == email)
            {
                QMessageBox::warning(this, "Реєстрація", "Акаунт з таким email вже зареєстрований!");
                isntreg = false;
            }
        }

这是一段检查电子邮件是否已注册的代码,但带有 emailforcheck 变量的 QMessageBox 甚至不显示,不写电子邮件已注册(在数据库中注册)。我寻求帮助

c++ sql
  • 1 1 个回答
  • 31 Views

1 个回答

  • Voted
  1. Best Answer
    Sergey Tatarincev
    2022-08-19T19:19:23+08:002022-08-19T19:19:23+08:00
    1. 您错误地使用了 QSqlQuery - SqlQuery::exec() 只执行查询。要获得结果,需要使用SqlQuery::next() (或 last(),或 first())进行查询
    2. SQL 查询本身可以变得更简单,此外,您的查询可能会出错
    3. email 变量没有在任何地方声明,也没有在任何地方分配,if(emailforcheck == email) 的含义是一个谜

    加起来。您可以像这样检查表格中是否有给定电子邮件的记录

    QSqlQuery qry;
    qry.prepare("SELECT count(*) FROM `users` WHERE `email` = :email"); // Можно просто запросить количество записей с заданным email
    qry.bindValue(":email", emailforcheck);
    if(!qry.exec()){ // Контролируйте выполнение запроса и выводите ошибки если они возникают  
       QMessageBox::information(this, "sql error", qry.lastError().text());
       return;
    };
    bool isntreg = true;
    qry.next(); // Запрос выполнился, но надо запросить результат
    if(qry.value(0).toInt()>0){
        QMessageBox::warning(this, "Реєстрація", "Акаунт з таким email вже зареєстрований!");
        isntreg = false;
    }
    
    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0800 CST
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0800 CST
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0800 CST
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0800 CST
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0800 CST
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0800 CST
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0800 CST
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0800 CST
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0800 CST
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0800 CST

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5