qt連線mysql安全麼 Qt連線Mysql的問題

2021-10-18 16:10:26 字數 2375 閱讀 5336

標頭檔案:

#include

#include

#include

工程中需要加入

qt  +=sql

資料庫中的中文顯示為亂碼的解決方法:

在main函式中加入

#include qtextcodec::setcodecfortr(qtextcodec::codecforname("utf-8"));

qtextcodec::setcodecforcstrings(qtextcodec::codecforname("utf-8"));

qtextcodec::setcodecforlocale(qtextcodec::codecforname("utf-8"));

資料庫常用語句:

1.建立乙個資料庫

bool ***::connectiontodb()

qsqldatabase db = qsqldatabase::adddatabase("qsqlite");

db.setdatabasename("database.db");

if(!db.open()) {

return false;

else{

return true;

2.當資料庫開啟後,就可以向裡面新增表了

qsqlquery query;

query.exec(qobject::tr("create table telephone ("

"contactid int primary key,"

"name vchar,telephones interger, address vchar)"));

3.當有了表以後,就可以向裡面新增資料了

靜態插入

query.exec(qobject::tr("insert into telephone values (0,'吳',15229262462,'西大街')"));

query.exec(qobject::tr("insert into telephone values (1,'秦',15109280171,'東大街')"));

query.exec(qobject::tr("insert into telephone values (2,'笑',13775623567,'北大街')"));

動態插入

addperson(const int contactid,const qstring name,const qstring telephone ,const qstring addr)

qsqlquery query;

qstring temp1 = qobject::tr("insert into telephone(contactid,name,telephones,address) values('%1','%2','%3','%4')").arg(contactid)

.arg(name)

.arg(telephone )

.arg(addr);

bool isok;

isok = query.exec(temp2);

4.查詢

qsqlquery query;

bool flag=true;

query.exec(qobject::tr("select * from telephone where name='%1'").arg("吳"));

while(query.next())

flag=false;

int telid_db=query.value(0).toint();

qstring name_db=query.value(1).tostring();

qstring telnum_db=query.value(2).tostring();

qstring addr_db=query.value(3).tostring();

如果查詢失敗,就不會進入到while迴圈裡面去,既flag依然為true;

5.刪除

qsqlquery query;

query.exec(qstring("delete from telephone where contactid = '%1'").arg(1);

6.刪除表裡的全部資料

qsqlquery query;

query.exec("delete from telephone");

7.更新表裡的內容

qsqlquery query;

qstring temp2= qobject::tr("update telephone set telephones='%1', address='%2' where contactid='%3'").arg("1234556").arg("南大街").arg(1);boolisok;

isok= query.exec(temp2);

Qt4連線mysql成功

之前一直在做嵌入式方面的開發,用的都是sqlite資料庫,由於專案要求,這次改為mysql資料庫,不過qt是不自帶mysql資料庫驅動的,需要自己手動編譯。我上網查詢編譯方法,可是別人的qt要麼是linux環境下的,要麼版本不一樣。不過還是在網上找到了乙個別人已經編譯好了的驅動,現跟大家分享下。qt...

使用Qt5 6連線MySql

最近在做畢業設計,有不少同學選擇使用qt和mysql做資料庫程式。然而,這兩種開發工具並不是非常完美的一結合就能使用的。通常qt會自帶mysql的驅動,但是,一般能直接使用的並不多。大多數部落格 都給出了mysql驅動的編譯過程。在這裡給出現成的 已經編譯好了的驅動。在可以win10 qt5.6和m...

QT5 3連線mysql資料庫

一 環境 mysql 5.7 qt 5.3 二 步驟 1.檢視qt包含的資料庫驅動,新建空的qt專案databasedriver,在databasedriver.pro中新增 qt sqlsources main.cppqt widgets 新增main.cpp檔案。這裡使用qsqldatabase...