QString connectionName = "read_connect";
{
QSqlDatabase database;
if (QSqlDatabase::contains(connectionName)) //检测连接是否存在
{
database = QSqlDatabase::database(connectionName);
}
else
{
database = QSqlDatabase::addDatabase("QSQLITE", connectionName);
database.setDatabaseName("MyDataBase.db");
//如果这个数据库不存在,则会在后续操作时自动创建;如果已经存在,则后续的操作会在已有的数据库上进行。
}
if (!database.open())
{
qDebug() << "Error: Failed to connect database." << database.lastError();
}
else
{
qDebug() << "Succeed to connect dcvSAatabase.";
}
QSqlQuery sql_query(QSqlDatabase::database(connectionName)); //将sql_query与连接对接上
//只找今日的事件 找到一个就发回去显示 后面可以改到多线程
struct_TableWidgetInfo info;
QDate currentdate = QDate::currentDate();
QString str;
//today
QString today = currentdate.toString("yyyy-MM-dd");
str = QString("SELECT * FROM %1 WHERE strftime('%Y-%m-%d',Date)= '%2' ").arg(Ds::EventsToQstring((Events)(event))).arg(today);
qDebug()<<str;
sql_query.exec(str);
if (!sql_query.exec())
{
qDebug() << sql_query.lastError();
}
else
{
while (sql_query.next())
{
info.event = Ds::EventsToCnQstring((Events)(event));
info.time = sql_query.value(2).toString();
info.station = sql_query.value(3).toString();
info.opinion = sql_query.value(4).toString();
emit sig_Get_info(info);
}
}
}
QSqlDatabase::removeDatabase(connectionName);
[QT] 多线程访问数据库
最新推荐文章于 2024-05-15 02:16:01 发布