HI我是使用qt開發Gui的初學者。 我有一個項目,我必須使用mysql數據庫。我想知道如何創建一個類爲我連接到數據庫和查詢,以便這將是容易的,我調用這個類在不同的窗口和執行SQL查詢在qt中創建數據庫連接的類
-1
A
回答
0
Qt擁有驅動它... http://doc.qt.io/qt-5/sql-driver.html,連接你沒有創建類。你應該爲此目的使用類。示例http://doc.qt.io/qt-5/sql-connecting.html顯示如何連接。 Qt有很多例子和體面的文檔。要開始閱讀關於類
- QSqlQuery
- QSqlDatabase
0
我可以給你我的班我的源代碼,用於連接到我的數據庫。我將特定的數據庫數據保存在一個txt文件中,所以如果我將它安裝在另一臺計算機上,我可以使txt文件適合。 這裏頭:
#ifndef DATENBANK_H
#define DATENBANK_H
#include <QtSql>
#include <QDebug>
#include <fstream>
#include <string>
using namespace std;
class Datenbank
{
public:
QSqlDatabase db;
bool connData();
void discData();
Datenbank();
};
#endif // DATENBANK_H
而這裏的cpp文件。應該是exaxtly你在找什麼
#include "datenbank.h"
Datenbank::Datenbank()
{
}
bool Datenbank::connData()
{
//txt file um Datenbankdaten auszulesen
fstream data;
string Databasename,Hostname,Username,Password,Driver,Crapreader;
//txt oeffnen
data.open("Datenbank.txt",ios::in);
if (!data.is_open())
{
qDebug()<<("Failed to open 'Datenbank.txt'");
}
//get data from text file, crapreader gets stuff which is irrelevant
data>>Crapreader>>Driver;
data>>Crapreader>>Databasename;
data>>Crapreader>>Hostname;
data>>Crapreader>>Username;
data>>Crapreader>>Password;
data.close();
QString qDriver = QString::fromStdString(Driver);
QString qDatabasename = QString::fromStdString(Databasename);
QString qHostname = QString::fromStdString(Hostname);
QString qUsername = QString::fromStdString(Username);
QString qPassword = QString::fromStdString(Password);
db = QSqlDatabase::addDatabase(qDriver);
db.setDatabaseName(qDatabasename);
db.setHostName(qHostname);
db.setUserName(qUsername);
db.setPassword(qPassword);
if(!db.open())
{
qDebug()<<("Failed to open Database");
return false;
}
else
{
qDebug()<<("Connected.....");
return true;
}
}
void Datenbank::discData()
{
QString connection;
connection=db.connectionName();
db.close();
db=QSqlDatabase();
db.removeDatabase(connection);
//db.removeDatabase(QSqlDatabase::defaultConnection);
qDebug()<<("Disc.....");
}
相關問題
- 1. Qt創建器中的連接數據庫
- 2. 創建數據庫連接類java
- 3. 在Qt中創建SQLite數據庫(C++)
- 4. 在QT中創建數據庫
- 5. 在連接上創建PostgreSQL數據庫
- 6. 在asp.net中創建連接字符串/連接到數據庫?
- 7. Qt中的數據庫創建錯誤
- 8. 創建數據庫連接類(PDO)並獲取數據
- 9. ASP.NET - 在數據集中動態創建數據庫連接
- 10. 無法創建數據庫連接
- 11. 創建和連接sqlite3數據庫
- 12. 創建數據庫連接一次只
- 13. 連接錯誤和創建數據庫
- 14. JPA:創建數據庫然後連接
- 15. java - 創建oracle數據庫連接
- 16. 連接 - 蒙戈不創建數據庫
- 17. 如何在Oracle數據庫中創建鏈接/連接表
- 18. 數據庫連接類建議
- 19. 我可以在類庫項目中創建數據庫連接嗎?
- 20. Qt SQL - 配置連接到數據庫
- 21. 使用qt連接到SQLite數據庫
- 22. 將Qt連接到數據庫
- 23. Qt:數據庫連接不會打開
- 24. 在php中使用函數來創建數據庫連接?
- 25. 在類中調用數據庫連接
- 26. 連接到在Ubuntu AWS實例中創建的MySQL數據庫
- 27. 在Executors.withFixedSizePool中創建固定大小的數據庫連接
- 28. 使用adodbapi在python中創建到Vertica數據庫的連接
- 29. 將phpmyadmin連接到在mysqlworkbench中創建的本地數據庫
- 30. 如何連接PHPMYADMIN數據庫來創建數據庫
是啊,我跟着以該: –
是的,我跟着以該: QSqlDatabase DB = QSqlDatabase :: addDatabase( 「QMYSQL」); db.setHostName(「localhost」); db.setDatabaseName(「calendar」); db.setUserName(「root」); db.setPassword(「」); 如果 { qDebug()<<( 「無法打開數據庫」)(db.open()!); 返回false; } 別的 { qDebug()<<( 「已連接」); 返回true; 我有不同的窗口,我需要執行一些查詢。我怎樣才能做到這 –
作爲回答,QSqlQuery是爲此目的......,創建查詢,執行它們,讀取數據,將其寫入控制 –