Qt 프로그래밍/Basic Qt
[Qt 프로그래밍] [크로스컴파일] Linux Sqlite db 조회
kwoss2341
2021. 6. 5. 17:05
pro 파일에 sql 추가해준다
QT +=
sql
QtSql inlcude 한다
#include <QtSql>
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/usr/local/app/my.db"); //db 경로
QString strQry = "PRAGMA synchronous = OFF;"; // 디스크 동기화 사용여부
if(!db.open()) {
qDebug() << QString("<FAILED> Connect to DB: %1") .arg("/usr/local/app/my.db");
abort();
}
QSqlQuery qry(db);
qry.clear();
qry.prepare(strQry);
if(!qry.exec()) {
qDebug() << QString("<SQL FAILED> %1") .arg(strQry);
qDebug() << QString("<SQL FAILED> %1") .arg(qry.lastError().text());
}
else {
qDebug() << QString("<SQL SUCCEED> %1") .arg(strQry);
}
QString szQry;
QString szVal, szType, szTgtIP, szVarNm, szValOld, szDec;
szQry = QString("select * from tb_evm_mst where set_target_ip='%1';") .arg(""); //조회쿼리
qry.prepare(szQry);
if(!qry.exec()) {
qDebug() << QString("<SQL FAILED> %1") .arg(szQry);
qWarning() << QString("<SQL FAILED> %1") .arg(qry.lastError().text());
return false;
}
while(qry.next()) {
szVal = qry.record().value("set_val").toString();
szValOld = qry.record().value("set_val_old").toString();
szVarNm = qry.record().value("set_var_nm").toString();
szType = qry.record().value("set_type").toString();
szDec = qry.record().value("set_dec").toString();
szTgtIP = qry.record().value("set_target_ip").toString();
qDebug()<<szVal<<" "<<szValOld<<" "<<szVarNm<<" "<<szType<<" "<<szDec<<" "<<szTgtIP;
}