qt中打開mysql數據庫的簡單介紹

本文目錄一覽:

qt連接mysql數據庫怎麼編譯驅動

下載mysql C鏈接庫

選擇C的鏈接庫

2

將C的連接庫解壓到到C:/mysql 目錄下

3

我的QT 安裝在C盤目錄下,版本號是4.8.6 所以打開目錄

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

4

將C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib

複製到此處。

5

編輯目錄下的mysql.pro文件

添加

INCLUDEPATH+=”C:/mysql/include”

LIBS+=”C:/mysql/lib/opt/libmysql.lib”

運行qt的控制台窗口,方便使用qmake

切換到目錄下

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

執行qmake

運行VS2010的控制台工具

切換到

C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下

執行nmake 和nmake release

是nmake不是make

這樣在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下的debug 目錄和release 目錄下分別會產生

qsqlmysqld4.dll qsqlmysqld4.lib

qsqlmysql4.dll qsqlmysql4.lib

將上面提到的四個文件複製到

C:\QT\4.8.6\plugins\sqldrivers

最後把

C:\mysql\lib\opt\libmysql.dll

C:\mysql\lib\opt\libmysql.lib

複製到

C:\Windows\system32\ 目錄下。

最後測試mysql 可不可以在qt中正常使用

新建一個qt 控制台項目

輸入以下代碼

#include QCoreApplication

#include QDebug

#include qstring.h

#include qstringlist.h

#include qsql.h

#include qsqldatabase.hint main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

qDebug() “Available drivers:”;

QStringList drivers = QSqlDatabase::drivers();qDebug() drivers;return a.exec();

}

運行測試一下,看看有沒有圖片中紅圈圈中的兩項內容

QT訪問MYSQL數據庫為什麼一打開子窗口訪問數據庫就出問題?

40℃。

蘋果手機安全使用範圍:

1、盡量在0攝氏度至35攝氏度之間的環境溫度內使用iPhone。

2、低溫或高溫環境可能會暫時縮短電池壽命或導致設備暫時停止正常工作。

3、冬天盡量避免在室外長時間使用iPhone。

4、夏天在長時間使用iPhone時,盡量不要加裝保護殼,讓iPhone儘可能的散熱。

Qt5.7下連接mysql數據庫

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

這裡需要把libmysql.dll文件拷貝到Qt的bin目錄中。或者自己編譯的時候,鏈接靜態庫。

參考:

參考:

QT訪問MYSQL數據庫為什麼一打開子窗口訪問數據庫就出問題

意思是說,還有某查詢引用默認數據庫連接”qt_sql_default_connection”。

如果忽略該警告,Qt官方文檔里也寫了,可能會出現內存泄漏:

Warning: There should be no open queries on the database connection when this function is called,

otherwise a resource leak will occur.

還是不出現這個警告的好。怎麼把它弄沒了呢?我把一切外圍的對象都排除了:僅建立一個連接,打開它,然後關閉連接,調用removeDatabase()。居然還有警告!問題已經鎖定在我關閉連接的語句上:

QSqlDatabase::removeDatabase(QSqlDatabase::database().connectionName());

默認連接的名字也是默認的,需要通過connectionName()函數獲得。這樣寫貌似沒什麼問題,後來調試發現,QSqlDatabase::database()靜態函數實際上使默認連接的引用計數+1。上述句子相當於:

QSqlDatabase db = QSqlDatabase::database();//獲得實例。

QString name = db.connectionName();//獲得默認連接名。

QSqlDatabase::removeDatabase(name);//刪除默認連接。

這樣,問題就清晰了,db獲得了一個引用,此時引用計數為2。在調用removeDatabase()時,db對象並沒有被刪除,默認連接的引用計數仍為2,於是報告警告信息。

我們只需將其改為:

QString name;

{

name = QSqlDatabase::database().connectionName();

}//超出作用域,隱含對象QSqlDatabase::database()被刪除。

QSqlDatabase::removeDatabase(name);

問題就解決了!

如果直接打默認連接名的話,代碼就簡單多了,不過名字不太好打(再說了,萬一Qt把默認連接名改了呢!):

QSqlDatabase::removeDatabase(“qt_sql_default_connection”);//不推薦。

Qt mysql, 程序運行時打開數據庫不成功

你機器上有mysql的驅動嗎?如果你用windows平台,編譯器不帶mysql驅動的,要你自己編譯。

qt中mysql怎麼連接遠程數據庫

創建數據庫

選擇開始菜單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,並使用Windows或 SQL Server身份驗證建立連接。

在【對象資源管理器】窗口中展開服務器,然後選擇【數據庫】節點

右鍵單擊【數據庫】節點,從彈出來的快捷菜單中選擇【新建數據庫】命令。

執行上述操作後,會彈出【新建數據庫】對話框。在對話框、左側有3個選項,分別是【常規】、【選項】和【文件組】。完成這三個選項中的設置會後,就完成了數據庫的創建工作,

在【數據庫名稱】文本框中輸入要新建數據庫的名稱。例如,這裡以“新建的數據庫”。

在【所有者】文本框中輸入新建數據庫的所有者,如sa。根據數據庫的使用情況,選擇啟用或者禁用【使用全文索引】複選框。

在【數據庫文件】列表中包括兩行,一行是數據庫文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除數據庫文件。

切換到【選項頁】、在這裡可以設置數據庫的排序規則、恢復模式、兼容級別和其他屬性。

切換到【文件組】頁,在這裡可以添加或刪除文件組。

完成以上操作後,單擊【確定】按鈕關閉【新建數據庫】對話框。至此“新建的數據”數據庫創建成功。新建的數據庫可以再【對象資源管理器】窗口看到。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/305065.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29

發表回復

登錄後才能評論