qt從資料庫讀取資料庫
① 如何把qt程序里的數據讀入到mysql資料庫
引入 資料庫創建的問題解決了,接下來就該使用資料庫實現應用程序功能的時候了。基 本的操作包括創建、讀娶更新、刪除,即我們通常說的 CRUD(Create, Read, Update, Delete)。 在實現這些操作的時候,我們會使用到兩個比較重要的類
② 如何用Qt連接資料庫並導入文件
QT 自帶的資料庫是很好用的。
以下給一些我寫的例子:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加資料庫
db.setDatabaseName("note.db"); //創建一個note.db的文件存儲數據
db.open(); //開啟資料庫
query = QSqlQuery(db); //獲得訪問資料庫的query
query.exec(XXX); //執行指令(XXX為SQL指令)
db.close(); //關閉資料庫
大致只要知道以上例子就OK了。一般而言會將db變數作為全局變數或者數據成員,當需要訪問的時候就獲取一個query就可以了。
另外,要實現所提到的功能,要好好看看QString、QStringList,這兩玩意主要是臨時存放數據、分割數據等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,這四個主要用來讀取文本數據。看看QVector或者QList等來存放讀出來的數據。
另外,要實現這玩意,SQL的語句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准確無誤。否則出錯了QT是看不出來的。QT不會檢測SQL的准確性的。
再另外,在QT的編程中,C++和類都很重要,所以還是得看看。
還有不明白的話歡迎留言
③ 用qt如何連接資料庫(簡答題)
連接mysql 資料庫
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用mysql資料庫驅動
db.setHostName("localhost");
db.setDatabaseName("exampledb"); // 資料庫名稱
db.setUserName("sa"); // 用戶名
db.setPassword("1"); // 密碼
bool ok = db.open(); // 嘗試連接資料庫
if(ok)
{
QSqlQuery myquery;
if(myquery.exec("select * from employeedb"))
{
int num = 0;
if(db.driver()->hasFeature(QSqlDriver::QuerySize))
{
num = myquery.size(); // 如果支持結果影響的行數,那麼直接記錄下來
}
else
{
myquery.last(); //否則定位到結果最後
num = myquery.at() + 1;
}
//這里添加資料庫的查詢結果處理操作
}
else // 如果查詢失敗
{
QSqlError error = myquery.lastError();
}
}
else // 打開資料庫失敗
{
}
④ 怎樣使用sqt從關聯資料庫sql里讀取數據到scada
用select讀取oracle資料庫數據.在用insert插入sql資料庫不就行了.不過要注意oracle資料庫和sql資料庫的數據類型不太一樣.
⑤ 如何用Qt連接資料庫並導入文件
可以使用QT自帶的資料庫完成操作,以下是參考代碼:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加資料庫
db.setDatabaseName("note.db"); //創建一個note.db的文件存儲數據
db.open(); //開啟資料庫
query = QSqlQuery(db); //獲得訪問資料庫的query
query.exec(XXX); //執行指令(XXX為SQL指令)
db.close(); //關閉資料庫
一般而言會將db變數作為全局變數或者數據成員,當需要訪問的時候就獲取一個query就可以了。
要實現所提到的功能,要好好看看QString、QStringList,這兩玩意主要是臨時存放數據、分割數據等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,這四個主要用來讀取文本數據。看看QVector或者QList等來存放讀出來的數據。
另外,要實現這玩意,SQL的語句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准確無誤。否則出錯了QT是看不出來的。QT不會檢測SQL的准確性的。
⑥ qt 如何從資料庫中獲得表名
連接好資料庫之後,只需用表名即可。
⑦ Qt 資料庫 查找後獲取數據道label
px solid green;
border-radius: 4px;
padding: 2px;
background-image: url(images/xxx.png);
}
請確認一下你的 style sheet 代碼是不是與上面類似的(主要看最後一行);
如果你改變了圖片或者qrc文件中的內容,最好將整個工程重新都重新編譯一次。再看能不能顯示圖片。如果還不能顯示圖片,就直接用QLabel的
void setPixmap ( const QPixmap & )
方法來設置圖片算了。
⑧ 求一段用Qt來實現資料庫讀取並顯示成折線圖的代碼
[cpp]viewplainprint?
/*************************************************
折線圖繪制
author周翔
2012-8-14
對外提供介面
voidshowData(intdata);接受外部的折線數據
voidsetSingleUnitX(constint&value);設置x軸的單位像素
voidstartUpdataTimer(intmsecond);定時器更新折線圖
voidstopUpdataTimer();關閉定時器
*************************************************/
#ifndefLINEGRAPHWIDGET_H
#defineLINEGRAPHWIDGET_H
#include<QWidget>
#include<QPen>
#include<QPainter>
#include<QResizeEvent>
//#include<QDebug>
#include<QTimer>
structpoint
{
intx;
inty;
};
classLineGraphWidget:publicQWidget
{
Q_OBJECT
public:
//mix和max為折線的y軸的數據范圍
explicitLineGraphWidget(intmin,intmax,QWidget*parent=0);
voidsetSingleUnitX(constint&value){singleUnitX=value;}//設置x軸的一個單位佔多少個像素,默認10
//支持定時器定時更新
voidstartUpdataTimer(intmsecond);
voidstopUpdataTimer();
signals:
//支持實時更新
voidnewDataCome();//有新數據到來時發出的折線圖更新信號
publicslots:
/**
*@briefshowData
*@paramadress地址
*@param_data數據
*/
voidshowData(constQString&adress,int_data);//接受來之外部的數據
/**
*@briefslt_showData接受外部數據
*@paramname設備名
*@param_data數據
*/
voidslt_showData(ushortname,int_data);
protected:
voidpaintEvent(QPaintEvent*);
voidresizeEvent(QResizeEvent*e);
private:
QStringm_currentNodeAdress;//當前顯示的節點的地址
ushortm_currentNodeName;//當前節點的設備名
QList<int>xList;
QList<int>yList;
intCounter;//窗口的長和寬
intwidgetX;
intwidgetY;
//折線圖的顯示範圍
intrangeMin;
intrangeMax;
//根據窗口和范圍得出的單位長,x軸,y軸
intsingleUnitX;
intsingleUnitY;
//根據窗口得出的多少個單位,x軸,y軸
intsumUnitX;
intsumUnitY;
pointbasePoint;//折線圖的原點
pointxAxisEndPoint;//X軸的終點
pointyAxisEndPoint;//Y軸的終點
QTimer*timer;
voidgetSumUnitX();
voidgetSingleUnitY();
voidinitGraph();
voidflush();//數據傳入的節點不是現在的當前的節點的時候,刷新畫面,清除所有的值
};
⑨ 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. }