詳解QT Sqlite ARM 編寫程序?qū)嵗?/h1>
作者:佚名 
  本文介紹的是詳解QT Sqlite ARM 編寫程序,文章主要是以代碼實(shí)現(xiàn),我們先來看內(nèi)容。
 
QT Sqlite ARM 編寫程序是本文要介紹的內(nèi)容,主要是代碼,先來看內(nèi)容。
- #include <QApplication>
 - #include <QTextEdit>
 - #include <QString>
 - #include <qsqldatabase.h>
 - #include <QSqlQuery>
 - #include <QSqlError>
 - #include <QSqlDriver>
 - #include <QDateTime>
 - #include <QDebug>
 - int main(int argc, char *argv[])
 - {
 - QApplication app(argc, argv);
 - QTextEdit display;
 - display.resize(300, 160);
 - display.show(); //下面進(jìn)行數(shù)據(jù)庫的設(shè)置
 - // QSqlDatabase *db = QSqlDatabase::addDatabase("QSQLITE"); //使用sqlite數(shù)據(jù)庫驅(qū)動(dòng)
 - QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" );
 - //db.addDatabase("QSQLITE");
 - db.setDatabaseName("test"); //我們之前建立的數(shù)據(jù)庫
 - bool ok = db.open(); //嘗試連接數(shù)據(jù)庫
 - if (ok)
 - { //這里用text已經(jīng)成功連上數(shù)據(jù)庫
 - QSqlQuery query; //新建一個(gè)查詢的實(shí)例
 - if (query.exec("select * from student")) //嘗試列出 student 表的所有記錄
 - { //本次查詢成功
 - int numRows = 0; //詢問數(shù)據(jù)庫驅(qū)動(dòng),是否驅(qū)動(dòng)含有某種特性
 - if (db.driver()->hasFeature(QSqlDriver::QuerySize))
 - {
 - numRows = query.size(); //如果支持結(jié)果影響的行數(shù),那么直接記錄下來
 - }
 - else
 - {
 - query.last(); //否則定位到結(jié)果***,qt 文檔說,這個(gè)方法非常慢
 - numRows = query.at() + 1;
 - query.seek(-1);
 - }
 - QString name, age;
 - display.append("===========================================");
 - while(query.next())
 - { //定位結(jié)果到下一條記錄
 - name = query.value(0).toString();
 - age = query.value(1).toString();
 - QString result = name + " " + age;
 - display.append(result);
 - }
 - display.append("===========================================");
 - display.append(QString("totally %1 rows").arg(numRows) );
 - }
 - else
 - { //打開數(shù)據(jù)庫失敗,顯示數(shù)據(jù)庫返回的失敗描述
 - display.append("cannot open database.");
 - display.append("Reason: " + db.lastError().databaseText());
 - }
 - QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));
 - return app.exec();
 - }
 
編譯出錯(cuò):
- undefined reference to `QSqlDatabase::defaultConnection'
 
解決辦法:
***種辦法:
- .pro里面加一句
 - QT+=sql
 
第二種辦法:
- INCLUDEPATH += /usr/local/Trolltech/QtEmbedded-4.6.3/include/QtSql
 - LIBS += -lQtSql
 
小結(jié):關(guān)于詳解QT Sqlite ARM 編寫程序?qū)嵗膬?nèi)容介紹完了,希望本文對(duì)你會(huì)有所幫助!
責(zé)任編輯:zhaolei 
                    來源:
                    互聯(lián)網(wǎng)
 














 
 
 

 
 
 
 