1. 程式人生 > >qt實現一個登陸介面-------------------qt之mysql增、刪、改、查、基本操作。

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 

我是一個懶人.........要時常監督自己把在開發中學到的心得知識,遇到的一些不懂得問題都更新到部落格上加以鞏固。