真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于qt怎么連上mysql的信息

Qt5.7下連接mysql數(shù)據(jù)庫

QSqlDatabase: QMYSQL driver not loaded

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),江華網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:江華等地區(qū)。江華做網(wǎng)站價(jià)格咨詢:13518219792

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

這里需要把libmysql.dll文件拷貝到Qt的bin目錄中。或者自己編譯的時(shí)候,鏈接靜態(tài)庫。

參考:

參考:

QT怎么ssh連接mysql數(shù)據(jù)庫

在這里小編使用的是SQLyogEnt進(jìn)行遠(yuǎn)程連接配置了SSH的數(shù)據(jù)庫。通過桌面的SQLyogEnt運(yùn)行數(shù)據(jù)庫客戶端。

在界面中點(diǎn)擊【新建】按鈕,在Mysql下填寫Mysql數(shù)據(jù)庫的ip地址、用戶名、密碼、端口(默認(rèn)在3306)就好,數(shù)據(jù)庫名稱。這里跟普通的連接數(shù)據(jù)庫的方法一致。

這個(gè)時(shí)候讀者可以點(diǎn)擊一下【測試連接】,這個(gè)時(shí)候點(diǎn)擊測試連接去連接數(shù)據(jù)庫是不會(huì)成功的,因?yàn)閿?shù)據(jù)庫配置了SSH訪問。如下圖:

配置完成Mysql信息后,在旁邊選擇【SSH】

pyqt4怎么連接mysql數(shù)據(jù)庫

pyqt4連接mysql數(shù)據(jù)庫的方法:

原料:sip-4.17.tar.gz、PyQt-gpl-5.5.1.tar.gz安裝包

下載后解壓縮到用戶目錄。

鍵入以下命令:

python configure.py (或python)

makesudo make install

1、安裝mysql的sqldrivers

默認(rèn)情況下qt只有SQLite驅(qū)動(dòng),其它驅(qū)動(dòng)要自己安裝:

sudo apt-get install libqt4-sql-mysql libqt5sql5-mysql

sudo apt-get install libqt4-sql-psql libqt5sql5-psql

2、對(duì)于安裝MATLAB的系統(tǒng)可能出現(xiàn)動(dòng)態(tài)鏈接庫版本問題

如import QtPy模塊時(shí)出錯(cuò)

from PyQt4.QtQtSql import *

Traceback (most recent call last):

File "stdin", line 1, in module

ImportError: /opt/local/MATLAB/R2012a/bin/glnxa64/QtSql.so.4: undefined symbol: _ZN31

locate QtSql.so

然后把鏈接改到系統(tǒng)庫下

/opt/local/MATLAB/R2012a/bin/glnxa64/libQtSql.so.4 - /usr/lib/x86_64-linux-gnu/libQtSql.so.4.8.6

我的系統(tǒng)里QtCore、QtGui、QtOpenGL、QtNetwork等都有問題、需要以上操作。修改后未發(fā)現(xiàn)MATLAB運(yùn)行異常

3、測試代碼

mysql

#-*- coding: utf-8 -*-

from PyQt4.QtGui import *

from PyQt4.QtCore import *

from PyQt4.QtSql import *

import sys

#創(chuàng)建數(shù)據(jù)庫連接

def createConnection():

#選擇數(shù)據(jù)庫類型,這里為mysql數(shù)據(jù)庫

db=QSqlDatabase.addDatabase("QMYSQL")

db.setDatabaseName("you_db")

db.setHostName("localhost") #set address

db.setUserName("you_usr"); #set user name

db.setPassword("you_passwd"); #set user pwd

#打開數(shù)據(jù)庫

#打開數(shù)據(jù)庫

if (db.open()):

print ("Success")

else:

print ("Failed to connect to mysql")

#創(chuàng)建表

def createTable():

#創(chuàng)建QsqlQuery對(duì)象,用于執(zhí)行sql語句

q=QSqlQuery()

q.exec_("create table if not exists t1 (f1 integer primary key,f2 varchar(20))")

q.exec_("delete from t1")

#這里使用 u 將字符串轉(zhuǎn)換成unicode編碼,解決中文亂碼

q.exec_(u"insert into t1 values(1,'我')")

q.exec_(u"insert into t1 values(2,'我')")

q.exec_("commit")

class Model(QSqlTableModel):

def __init__(self,parent):

QSqlTableModel.__init__(self,parent)

#設(shè)置要載入的表名

self.setTable("t1")

#這一步應(yīng)該是執(zhí)行查詢的操作

self.select()

#數(shù)據(jù)更新的策略,詳細(xì)可以查看Qt文檔

self.setEditStrategy(QSqlTableModel.OnManualSubmit)

class TestWidget(QWidget):

def __init__(self):

QWidget.__init__(self)

vbox=QVBoxLayout(self)

self.view=QTableView()

self.model=Model(self.view)

self.view.setModel(self.model)

vbox.addWidget(self.view)

if __name__=="__main__":

a=QApplication(sys.argv)

createConnection()

createTable()

w=TestWidget()

w.show()

sys.exit(a.exec_())

測試完成,連接成功。

「Qt」 mac環(huán)境配置qt的mysql驅(qū)動(dòng)

Qt項(xiàng)目里用到了mysql,運(yùn)行后報(bào)錯(cuò):

查閱資料知道需要配置mysql驅(qū)動(dòng),本以為幾分鐘解決的事情,沒想到開啟了惡魔經(jīng)歷,整整兩天時(shí)間,mmp!

Stop! 廢話別說啦,入正題:

首先,Qt mysql的安裝和環(huán)境配置就略了,一搜一大把。

不過注意兩點(diǎn):

先進(jìn)入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目錄下,執(zhí)行:

這里確保qmake用的qt里的就行

其實(shí)你可以配置下qt相關(guān)的環(huán)境變量,在bash_profile里添加:

然后,source ~/.bash_profile ,還有別忘了 source ~/.zshrc

執(zhí)行成功的話會(huì)輸出:

根據(jù)提示 依次執(zhí)行:

make sub-mysql

make

make install

進(jìn)入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下執(zhí)行,查看鏈接庫:

輸出:

此時(shí),運(yùn)行qt程序 依舊報(bào)錯(cuò)。

根據(jù)查閱的資料,問題出在

網(wǎng)友們所說的“詭異”的路徑那一行(你的輸出可能和我的不一樣的,但問題應(yīng)該一樣) ,也就是有 libmysqlclient.21.dylib 這行。

另外查了下 @repath 的含義 意思是說 不能明確的指向。。。所以 這里就需要將libmysqlclient.21.dylib 指向扳到正確的道路。

方法就是利用 install_name_tool -change

執(zhí)行

這里一定要注意順序,剛開始我就是順序搞錯(cuò)了,死活就是不行,最后跑到官方論壇里用蹩腳的英語發(fā)帖求教也無果,最后還是一遍的重試,一遍的檢查才發(fā)現(xiàn)的。一天就這么浪費(fèi)了。

此刻在運(yùn)行qt程序 ,就不會(huì)再報(bào)上面的錯(cuò)誤了。

撒花,禮花搞起~~~

qt連接mysql問題

首先:進(jìn)入到自己相應(yīng)的qt/src/plugins/sqldrivers/mysql 目錄下 (我的目錄為:S:\QT\4.8.0\src\plugins\sqldrivers\mysql),這個(gè)下面有兩個(gè)文件mysql.pro,一個(gè)mian.cpp! 用文本編輯器打開該目錄下的mysql.pro文件 在mysql.pro中加入:

INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"

保存并退出(即你的mysql的include 路徑和 lib 下 opt 的 libmysql.lib 路徑)

打開Qt 4.8.0 Command Prompt, 編譯這個(gè)文件

#qmake -o Makefile mysql.pro

提示3條警告信息,但沒影響

#mingw32-make (這個(gè)網(wǎng)上有好幾個(gè)編譯命令,我的是用nmake);

然后你會(huì)發(fā)現(xiàn)你的 qt 下這個(gè) qt/plugins/sqldrivers路徑(我的路徑為S:\QT\4.8.0\plugins\sqldrivers下)下多了四個(gè)文件

分別為 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四個(gè))這樣基本上就編譯成功,可以使用 mysql 了!~

最后安全起見再將 mysql下 bin 文件中l(wèi)ibmysql.dll文件拷貝到 system32 下面 然后測試:

#includeQtGui #includeQtSql #includecstdlib

#includeQtGui/QApplication #includeQtSql/QtSql boolcreateConnection() {

qDebug()"Availabledrivers:";

QStringListdrivers=QSqlDatabase::drivers(); foreach(QStringdriver,drivers) qDebug()"\t"driver;

QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL"); qDebug()"MYSQLdrivervalid?"db.isValid(); }

intmain(intargc,char*argv[]) {

至于mysql.pro我是在網(wǎng)上下載的


分享名稱:關(guān)于qt怎么連上mysql的信息
本文路徑:http://www.weahome.cn/article/hjpghh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部