qt之mysql增、刪、改、查、基本操作--------實現一個註冊登陸功能。
阿新 • • 發佈:2018-12-19
專案描述:實現一個登入介面,登入成功後切換到另一個介面。
登入介面實現的功能有:
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
我是一個懶人.........要時常監督自己把在開發中學到的心得知識,遇到的一些不懂得問題都更新到部落格上加以鞏固。