QT 조작 sqlite 데이터베이스 (1) ----- 네트워크 일반 코드

먼저 네트워크에 있는 일반적인 코드를 참고했지만 실제 사용 과정에서 적지 않은 문제가 발생했기 때문에 먼저 일반적인 사용 방식을 다음과 같이 붙여넣는다.
#include <QtCore/QCoreApplication>  
#include <QtSql> 
#include <QTextCodec> 
int main(int argc, char *argv[])
{      
    QCoreApplication a(argc, argv);     
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());       
    QSqlDatabase dbconn=QSqlDatabase::addDatabase("QSQLITE");    //               
    dbconn.setDatabaseName("mytest.db");  //         mytest.db           
    if(!dbconn.open())    
    {            
        qDebug()<<"fdsfds";       
    }       
    QSqlQuery query;//      QSL         
    query.exec("create table student(id varchar,name varchar)");    //  student ,id     ,    name        
    query.exec(QObject::tr("insert into student values(1,'aaa')"));        
    query.exec(QObject::tr("insert into student values(2,'bbb')"));        
    query.exec(QObject::tr("insert into student values(3,'ccc')"));         
    query.exec(QObject::tr("insert into student values(3,'ddd')"));         
    query.exec(QObject::tr("insert into student values(4,'eee')"));         
    query.exec(QObject::tr("insert into student values(5,'fff')"));         
    query.exec(QObject::tr("insert into student values(6,'ggg')"));        
    query.exec(QObject::tr("select id,name from student where id>=1"));         
    query.exec("select id,name from student where id>=1");         
    while(query.next())//query.next()           ,              
    {              
        int ele0=query.value(0).toInt();//query.value(0) id  ,     int                      
        QString ele1=query.value(1).toString();                     
        qDebug()<<ele0<<ele1;//         
    }      
    query.exec(QObject::tr("drop student"));       
    return a.exec();  
} 

만약에 위의 방식이 좋지 않다면 사용 과정에서 불편한 점이 많고 많은 문제에 부딪힐 수 있다. 나는 아래의 소절에서 이 사고방식을 수정하고 일반적인 소프트웨어 개발 방식에 따라 다시 실현할 것이다.

좋은 웹페이지 즐겨찾기