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;
        }