當前位置:首頁 » 操作系統 » qt連接mysql資料庫

qt連接mysql資料庫

發布時間: 2022-04-21 11:58:18

⑴ QT怎麼ssh連接mysql資料庫

在這里小編使用的是SQLyogEnt進行遠程連接配置了SSH的資料庫。通過桌面的SQLyogEnt運行資料庫客戶端。
在界面中點擊【新建】按鈕,在Mysql下填寫Mysql資料庫的ip地址、用戶名、密碼、埠(默認在3306)就好,資料庫名稱。這里跟普通的連接資料庫的方法一致。
這個時候讀者可以點擊一下【測試連接】,這個時候點擊測試連接去連接資料庫是不會成功的,因為資料庫配置了SSH訪問。如下圖:
配置完成Mysql信息後,在旁邊選擇【SSH】

⑵ 如何設置Qt連接Mysql資料庫時的字元集

在你的程序代碼設置資料庫後添加一句:
db.exec("SET
NAMES
'Latin1'");
//直接使用資料庫的latin1編碼

⑶ 求教linux下Qt5鏈接MySQL資料庫問題

連接Mysql資料庫需要添加資料庫的類型是QMYSQL,不是QSQLITE,QSQLITE對應的資料庫管理系統是SQLite。QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");

這樣的話,你調用下lastError,看一下為什麼。
官方文檔對QSqlDatabase open方法的說明原話:
Opens the database connection using the current connection values. Returns true on success; otherwise returns false. Error information can be retrieved using lastError().

⑷ ubuntu下qt鏈接mysql資料庫問題

1,在.pro文件中修改 QT += sql ,大致如下
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT +=sql

2,在程序中添加資料庫
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
qDebug()<<QString("add database");
//db.setHostName("192.168.1.126");//遠程訪問
db.setHostName("localhost");
db.setDatabaseName("test");

//db.setDataBaseName("");
db.setUserName("root");
db.setPassword("000000");

if (!db.open())
return db.lastError();

⑸ 在vs中,qt連接mysql運行時,出現QSqlQuery::exec:database not open,如何解決

要設置用戶名密碼之類的吧。。?
db.setHostName("localhost");
//設置資料庫主機名
db.setDatabaseName("test");
//設置資料庫名
db.setUserName("root");
//設置資料庫登入用戶名
db.setPassword("123456");
//設計資料庫登入密碼
自己試試。
在if(!db.open()){
}裡面最好輸出一下,看看是否open成功

⑹ QT中怎樣連接MYsql資料庫,遠程連接資料庫等

1: windows 下登陸mysql 命令行,(1)進入cmd (2) cd mysql 安裝路徑/mysqlserver5.6/bin
(3) 使用命令mysql -u root -p 然後根據提示輸入密碼 進入命令行

select user(); //顯示當前用戶

2: 在同一台電腦上利用Qt 訪問資料庫
(1)顯示當前電腦上安裝的資料庫驅動
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() <<"/t" << driver;
(2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/對 QMYSQL進行操作,本函數
有第二個參數 連接名
db.setHostName("localhost");//或127.0.0.1 本主機
db.setPort(3306);
db.setDatabaseName("example"); //對資料庫example進行操作
db.setUserName("wangxuetao"); //wangxuetao是一個對example資料庫有操作許可權的賬戶
db.setPassword("3791948");

於是mysql中增加一個賬戶可使用
Grant all previliges on *.* to 『wangxuetao』@』localhost』 identified by
『3791948』 with grant option;
Flush privileges; //更新

(3)db.open() 函數可由於檢測資料庫是否連接成功
cout<DBConnection();
2. m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql
query
3. if(result == R_OK)
4. {
5. result = m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A
nn2',13)");
6. if(!result)
7. qDebug()<<" [OK] "<<"EXEC successed";
8. m_sqlquery->exec("SELECT * FROM children c LIMIT 0,1000");
9. while(m_sqlquery->next())
10. {
11. qDebug()<value(0).toString()<value(1).
toString();
12. }
13. }

⑺ qt中怎麼連接mysql資料庫

1: windows 下登陸mysql 命令行,(1)進入cmd (2) cd mysql 安裝路徑/mysqlserver5.6/bin (3) 使用命令mysql -u root -p 然後根據提示輸入密碼 進入命令行 select user(); //顯示當前用戶 2: 在同一台電腦上利用Qt 訪問資料庫 (1)顯示當前電腦上安裝的資料庫驅動 QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() <<"/t" << driver; (2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/對 QMYSQL進行操作,本函數 有第二個參數 連接名 db.setHostName("localhost");//或127.0.0.1 本主機 db.setPort(3306); db.setDatabaseName("example"); //對資料庫example進行操作 db.setUserName("wangxuetao"); //wangxuetao是一個對example資料庫有操作許可權的賬戶 db.setPassword("3791948"); 於是mysql中增加一個賬戶可使用 Grant all previliges on *.* to 『wangxuetao』@』localhost』 identified by 『3791948』 with grant option; Flush privileges; //更新 (3)db.open() 函數可由於檢測資料庫是否連接成功 cout<DBConnection(); 2. m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql query 3. if(result == R_OK) 4. { 5. result = m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A nn2',13)"); 6. if(!result) 7. qDebug()<<" [OK] "<<"EXEC successed"; 8. m_sqlquery->exec("SELECT * FROM children c LIMIT 0,1000"); 9. while(m_sqlquery->next()) 10. { 11. qDebug()<value(0).toString()<value(1). toString(); 12. } 13. }

⑻ qt5.3怎麼連接mysql資料庫

你必須把安裝好的mysql的
C:\Program Files\MySQL\MySQL Server 5.6\lib 下的
libmysql.dll 和 libmysql.lib 拷貝進 qt的G:\Qt\Qt5.3.1\5.3\mingw482_32\bin下

⑼ ubuntu linux 下使用Qt連接MySQL資料庫

Linux下完整的MySQL開發需要安裝伺服器端,如果安裝客戶端也沒什麼不好。直接在軟體中心搜mysql,把client和server選上。
環境說明:
ubuntu
10.04.2
QtSDK
(1.5G安裝包的那個)
mysql5.1
1.安裝MySQL
Linux下完整的MySQL開發需要安裝伺服器端,如果安裝客戶端也沒什麼不好。直接在軟體中心搜mysql,把client和server選上。
server在安裝時會提示為root用戶設置密碼,設一個好了。
我使用的是mysql5.1版本,用戶名密碼存儲在一個叫mysql的資料庫里,只有管理員級別才能看到。
如果直接在終端中輸入
mysql,可能會提示ERROR
1045
(28000),這是因為這時候你是以自己用戶名訪問資料庫,而目前資料庫中只有一個root用戶。沒關系,如果有必要,可以添加一個用戶進去:
mysql
-uroot
-p
--
以root用戶登錄
grant
usage
on
*.*
to
mmy@localhost;
--
授權名為mmy的用戶本地登錄,這里換成自己的用戶名就可以了
不過這時候直接mysql只有普通的許可權,創建資料庫、操作mysql都是不可以的,如果真有將其賦予管理員許可權的需要,可以自己查閱有關資料。
2.安裝Qt的MySQL驅動。
方法一:直接sudo
apt-get
install
libqt4-sql-mysql
,這是Qt4的mysql驅動,就不用自己費勁編譯了,不過可能會額外下載一些東西。

/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷貝到你的QtSDK
sqldrivers目錄下,我當時是直接用普通許可權安裝,目錄為:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其實你也可以sudo
apt-get
download
libqt4-sql-mysql,把包解壓縮,然後把裡面的so文件搜出來直接拷貝到那裡。
方法三:乖乖按照官方方法編譯,但是貌似可行性不大,因為新版本的QtSDK並沒有src目錄,默認也沒有mysql的驅動。
3.做個demo試一下
記得在pro文件中
QT
+=那裡加上sql,否則qmake是不會去找sql的相關部分的
復制代碼代碼如下:
#include
QtCore/QCoreApplication
#include
QSqlDatabase
#include
QDebug
int
main(int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
QSqlDatabase
db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()
"Unable
to
open
database";
}else{
qDebug()
"Database
connection
established";
}
return
a.exec();
}
這里study這個資料庫之前我已經創建過了,如果連接成功,就會顯示Database
connection
established。
我是建立的控制台程序哈。
軟體教程小編推薦:
Linux安裝配置MariaDB資料庫全程詳解
Linux系統怎麼設置開機密碼?
Linux啟動菜單修改教程

⑽ 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.h>int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();qDebug() << drivers;return a.exec();
}

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

熱點內容
數控編程輕松 發布:2024-11-16 22:23:38 瀏覽:813
能緩存老友記的播放器 發布:2024-11-16 22:22:16 瀏覽:479
python寫入文件字典 發布:2024-11-16 22:21:14 瀏覽:14
androidandbase 發布:2024-11-16 22:16:34 瀏覽:417
phpifecho 發布:2024-11-16 21:57:11 瀏覽:723
android動態載入布局 發布:2024-11-16 21:37:54 瀏覽:799
php判斷ip 發布:2024-11-16 21:07:03 瀏覽:739
有看頭密碼怎麼改 發布:2024-11-16 20:57:39 瀏覽:327
A有語法錯誤不能編譯 發布:2024-11-16 20:49:17 瀏覽:947
廚房需要配置什麼噴淋頭 發布:2024-11-16 20:39:02 瀏覽:298