qt連接mysql創(chuàng)建數(shù)據(jù)庫 qt中怎么連接mysql數(shù)據(jù)庫?
qt中怎么連接mysql數(shù)據(jù)庫?qt如何連數(shù)據(jù)庫?連接到MySQL數(shù)據(jù)庫QSqlDatabase DB=QSqlDatabase::adddatabase(“qmysql”)//使用MySQL數(shù)據(jù)庫驅(qū)
qt中怎么連接mysql數(shù)據(jù)庫?
qt如何連數(shù)據(jù)庫?
連接到MySQL數(shù)據(jù)庫QSqlDatabase DB=QSqlDatabase::adddatabase(“qmysql”)//使用MySQL數(shù)據(jù)庫驅(qū)動程序db.setHostName文件(“l(fā)ocalhost”)db.setDatabaseName數(shù)據(jù)庫名稱(“exampledb”)//數(shù)據(jù)庫名稱數(shù)據(jù)庫設(shè)置用戶名(“SA”)//用戶名數(shù)據(jù)庫設(shè)置密碼(“1”)//密碼bool OK=數(shù)據(jù)庫打開()//嘗試連接到數(shù)據(jù)庫if(OK){qsqlquery myquery if}(我的查詢.exec(“select*from employeedb”){int num=0 if(數(shù)據(jù)庫驅(qū)動器()->hasFeature(QSqlDriver::QuerySize)){num=myquery.size文件()//如果支持受結(jié)果影響的行數(shù),則記錄}否則直接{myquery.last文件()//否則,導(dǎo)航到結(jié)果的最后一個num=我的查詢.at()1}//添加數(shù)據(jù)庫的查詢結(jié)果處理操作}否則//如果查詢失敗{qsqlerror}=myquery.lastError錯誤()}}否則//打開數(shù)據(jù)庫{}失敗
沒有初始化數(shù)據(jù)庫連接?數(shù)據(jù)庫操作是I/O操作。在使用各種基于數(shù)據(jù)庫的函數(shù)之前,需要與數(shù)據(jù)庫引擎建立連接。在QT中,使用QSqlDatabase::adddatabase添加特定類型的數(shù)據(jù)庫連接。如果在添加連接時不顯示指定的連接名稱,將建立默認連接。此時,返回的QSqlDatabase對象不需要自己保護例如,如果我想操作一個SQLite數(shù)據(jù)庫,在設(shè)置qsqltablemodel之前我需要做的是
如果它不是一個鍵函數(shù),操作失敗后相應(yīng)的模塊就無法加載。例如,如果要顯示表,可以在初始化控件之前連接到數(shù)據(jù)庫。如果連接失敗,控件將不顯示。如果它是一個鍵函數(shù),那么在應(yīng)用程序啟動時,最好把它放在main函數(shù)中初始化數(shù)據(jù)庫。如果初始化失敗,可以使用qwarning或qfatal提示錯誤,返回-1退出程序
謝謝。
QT的QT SQL模塊可以在不使用第三方庫的情況下操作數(shù)據(jù)庫。
對于一個特定的示例,在QT creator啟動界面中,單擊example來搜索SQL,就這樣。
或閱讀以下文檔:QSqlDatabase qsqlquery yes,兩個類就足夠了。
發(fā)布程序時,需要添加QT目錄5。Xcompilerpluginssqldrivers目錄和Qt5Sql.dll復(fù)制到exe所在的目錄,否則程序無法正常運行。
此外,如果不想使用第三方庫,請?zhí)砑訌膶賻?,不要手寫語句。
打開。在QT creator的Pro文件中,右擊文本區(qū)-添加庫-外部庫,一直到下一步。
然后將DLL文件復(fù)制到已編譯exe的目錄中。