【Qt链接Access】Qt5.8.0链接Access数据库

Qt链接Access数据库
参考链接:
1、https://blog.csdn.net/qq_37275429/article/details/79049448
2、https://blog.csdn.net/cibiren2011/article/details/52792476

bool QtForAccess::connectAccess(QString accdb_name)
{m_db_name = accdb_name;m_sqlDatabase = QSqlDatabase::addDatabase("QODBC", accdb_name);//Setting up database driver must use QSqlDatabase::addDatabase("QODBC") then m_sqlDatabase.addDatabase("QODBC")QString connect_str = QStringLiteral("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; FIL={MS Access};DBQ=%1;").arg(accdb_name);//连接字符串// Setting Connection Informationm_sqlDatabase.setDatabaseName (connect_str);//Set connection stringm_sqlDatabase.setUserName("");//Set the username of the login databasem_sqlDatabase.setPassword("");//Set password//Open the databasem_isopenbase = m_sqlDatabase.open();if(!m_isopenbase) {QMessageBox::critical(0, QObject::tr("Database Error"),m_sqlDatabase.lastError().text());return false;}else{
//        QMessageBox::information(0,"hello world","Open Database success!",QMessageBox::Ok);}return m_isopenbase;
}bool QtForAccess::getAccessData()
{QString sheet1_name = "tb_GPS原始数据", sheet2_name = "tb_BD原始数据";if(!m_isopenbase) return false;// select all tabel namesQStringList table_names = m_sqlDatabase.tables();// select all dataQSqlQuery query(m_sqlDatabase);QString select_sql = "";// read GPS dataselect_sql = QString("select * from %1").arg(sheet1_name);query.prepare(select_sql);if(!query.exec()) return false;while (query.next())//Data traversing queries{QVector < QString > temp_line_data;for(int i = 0; i < gps_attribute_num;i++){temp_line_data.append(query.value(i).toString());}m_Access_GPS.append(temp_line_data);temp_line_data.clear();}// read BDS dataselect_sql = QString("select * from %1").arg(sheet2_name);query.prepare(select_sql);if(!query.exec()) return false;while (query.next())//Data traversing queries{QVector < QString > temp_line_data;for(int i = 0; i < bds_attribute_num;i++){temp_line_data.append(query.value(i).toString());}m_Access_BDS.append(temp_line_data);temp_line_data.clear();}query.clear();m_isgetaccessdata = true;return m_isgetaccessdata;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部