qt实现一个登陆界面-------------------qt之mysql增、删、改、查、基本操作。

https://www.cnblogs.com/baimt/p/5688517.html安装的MySQL的的步骤可以参考该博主的文章。

项目描述:实现一个登录界面,登录成功后切换到另一个界面。

登录界面实现的功能有:

1. qt连接mysql创建表.2。注册账号,往mysql表里面添加账号和密码。实现登录功能。

另外一个界面实现的功能有:

1.删​​除mysql数据库的数据.2。查找数据库内容。

(ps:下面我会贴出项目的效果图片。哈哈如果觉得啰嗦就翻图片直接看代码吧)。

登录刚刚注册的账号效果如下:点击显示按钮就把数据库的内容显示出来了。

这个是数据库里的内容。添加和删除的功能都已经实现就不贴出效果图直接上代码。

一。连接数据库创建表格代码

void MainWindow::init()
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setUserName("root");
    db.setPassword("123456");
    db.setDatabaseName("wx");
    if(db.open())
        {
            qDebug()<<"Database connected successfully!";
            createtable();

            return;
        }
    else
        {
            qDebug()<<"Database connected failed!";
            return;
        }
     db.exec("SET NAMES 'UTF-8'"); ///设置utf-8编码
} 

//创建表
void MainWindow::createtable()
{
    query=new QSqlQuery;

    query->exec("create table user(name VARCHAR(30) PRIMARY KEY UNIQUE NOT             
    NULL,passward VARCHAR(30))");

}

二。在创建的数据库表格中添加数据代码如下。

//在表里面添加内容
bool MainWindow::sigup(QString name, QString passward)
{
    QString str=QString("select * from user where name='%1").arg(name);
    query=new QSqlQuery;
    query->exec(str);
    query->last();
    int record=query->at()+1;
    if(record!=0)
        return false;
    str=QString("insert into user value('%1','%2')").arg(name).arg(passward);
    bool ret=query->exec(str);
    return ret;
}

三。查询数据库表格中的内容如下。

QSqlQuery query1("select * from user");//查询表的内容
    while (query1.next()) {
    country = query1.value(0).toString();//cmf_menu表第1个字段的内容
    QString statu = query1.value(1).toString();

 

四。删除表格内容如下。

//删除按钮
void MainWindow::on_pushButton_delete_clicked()
{
    if (!check()){return;}
    QString name = ui->lineEdit_name2->text();

    query->prepare("delete from user where name  = ?");
    query->addBindValue(name);
    query->exec();
    query->next();

     if(!query->isActive()){
               QMessageBox::critical(this,"","删除数据失败!");
      }
      else{

          QMessageBox::information(this,"","删除成功");

      }
}

以上就是qt操作mysql的基本操作了。如果遇到什么问题,或者发现里面写的有什么问题欢迎指出。下面附上完整的工程代码链接如果有兴趣的可以下载.https ://download.csdn。净/下载/ weixin_39770778 / 10760993 

我是一个懒人.........要时常监督自己把在开发中学到的心得知识,遇到的一些不懂得问题都更新到博客上加以巩固。

猜你喜欢

转载自blog.csdn.net/weixin_39770778/article/details/83578442