代码拉取完成,页面将自动刷新
#include "mainwindow.h"
#include <QApplication>
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
#include "sqldatabase.h"
#include "logindialog.h"
#include "dialogloginsignup.h"
#include "Head.h"
#include <QPair>
#if defined Q_OS_WIN32 //for win
#include <windows.h>
bool checkOnly()
{
// 创建互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"fortest_abc123" );
// 检查错误代码
if (GetLastError() == ERROR_ALREADY_EXISTS) {
// 如果已有互斥量存在则释放句柄并复位互斥量
CloseHandle(m_hMutex);
m_hMutex = NULL;
// 程序退出
return false;
}
else
return true;
}
#endif
// 连接数据库
bool connectDatabase();
// 执行查询
void queryTableDatas(SqlDatabase* db, const QString &tableName);
int main(int argc, char *argv[])
{
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
// QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"));
// Q_INIT_RESOURCE(wisdpsclient);
QApplication a(argc, argv);
//检查程序是否 已经启动过
if(checkOnly()==false)
return 0;
// 连接数据库
if(false == connectDatabase()) {
// 结束程序
return 0;
}
MainWindow w;
QString userID, userStatus;
#if 1
// 登录
{
DialogLoginSignUp login;
// QString user, pwd;
QObject::connect(&login, &DialogLoginSignUp::sendData, [&](QPair<QString, QString> data){
userID = data.first;
userStatus = data.second;
w.queryUserAuthority(userID);// 查询用户权限
});
if(login.exec() == QDialog::Accepted)
{
qDebug() << "<登录> 用户:" << userStatus << "成功!";
} else {
// 结束程序
return 0;
}
}
#endif
// 主窗口
w.show();
return a.exec();
}
// 连接数据库
bool connectDatabase()
{
// 获取数据库单例实例并连接到数据库
SqlDatabase* db = SqlDatabase::instance();
if (db->open()) {
// 执行查询
queryTableDatas(db, USER_TABLE);
} else {
qDebug() << "Failed to connect to the database.";
}
// //释放单例
// db->release();
}
// 执行查询
void queryTableDatas(SqlDatabase* db, const QString &tableName)
{
QSqlQuery query = db->executeQuery(QString("SELECT * FROM %1").arg(tableName));
QSqlRecord emptyRec = query.record();
QString recString;
for(int i = 0; i < emptyRec.count(); ++i) {
recString += emptyRec.value(i).toString() + " ";
}
qDebug() << recString;
// 遍历查询结果并输出
while (query.next()) {
int DormID = query.value(0).toInt();
QString Building = query.value(1).toString();
int Floor = query.value(2).toInt();
QString RoomType = query.value(3).toString();
int MaxCapacity = query.value(4).toInt();
int HasBathroom = query.value(5).toInt();
// 使用QString::arg()来格式化输出,每列字段宽度对齐
qDebug() << QString("%1%2%3%4%5%6")
.arg(DormID, 8) // 设置宽度为10字符
.arg(Building, 8) // 设置宽度为10字符,左对齐
.arg(Floor, 8) // 设置宽度为10字符
.arg(RoomType, 8) // 设置宽度为10字符,左对齐
.arg(MaxCapacity, 8)
.arg(HasBathroom, 12);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。