Files
QTradeProgram/cleaned_source_code/Sqbase/qdbmanagement.cpp
2026-02-25 23:01:42 +08:00

68 lines
1.9 KiB
C++

#include "qdbmanagement.h"
QDBManagement::QDBManagement(QObject* parent)
: QObject(parent)
{
}
void QDBManagement::initConnect(QString db, QString pwd)
{
QSqlError error;
if (db == nullptr)
db = "tradedata";
if (pwd == nullptr)
pwd = "Kexin2008";
m_Database = QSqlDatabase::addDatabase("QMYSQL");
m_Database.setHostName("localhost");
m_Database.setUserName("root");
m_Database.setDatabaseName(db);
m_Database.setPassword(pwd);
m_Database.setPort(3306);
error = m_Database.lastError();
if (error.isValid())
{
switch (error.type()) {
case QSqlError::NoError:
qDebug() << "无错误";
break;
case QSqlError::ConnectionError:
qDebug() << error.text();
break;
case QSqlError::StatementError:
qDebug() << error.text();
break;
case QSqlError::TransactionError:
qDebug() << error.text();
break;
default:
qDebug() << error.text();
break;
}
}
if (!m_Database.open()) {
qDebug() << "Database not open!";
}
}
void QDBManagement::selectStockList(QVector<StockInfo>& list)
{
QSqlQuery query;
QString sql = "select * from auto_stocklist";
query.exec(sql);
while (query.next()) {
StockInfo stock;
stock.strCode = query.value(1).toString();
stock.strName = query.value(2).toString();
stock.fcurPrice = query.value(3).toFloat();
stock.fShare = query.value(4).toFloat();
list.push_back(stock);
}
}
void QDBManagement::selectStockKofDay(QString strCode, std::vector<double>& KList)
{
QString table = "r_" + strCode.mid(3);
QSqlQuery query;
QString sql = "select * from " + table;
query.exec(sql);
while (query.next()) {
double dataP;
KList.push_back(query.value(3).toFloat());
}
}