« Qt5: MSSQL用ドライバを作成 | トップページ | ペインクリームすごい! »

2014年6月 4日 (水)

Qt5: 入門Qt4〜QtSqlから使ってみる

「入門Qt4プログラミング」の13章はデータベースについてです。
Qt5環境でもテキストに従い、例題を進めます。
ただし、接続するデータベースはSQLServerです。

QtCreatorで新しいプロジェクトから「Qtウィジェットアプリケーション」を選択。
適当なプロジェクト名(ここではDBTest)を付けて、ひとまず保存。
コンパイル&実行して、空ウィンドウが表示されるのを確認。

まずは、QtSqlを利用する前に、DBTest.proファイルを編集します。

QT       += core gui sql

続いて、main.cppに関連する部分を追記します。

#include "mainwindow.h"
#include <QApplication>
#include <QMessageBox>
#include <QtSql>

bool createConnetion()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("DB-SERVER");  // FreeTDSで記述した<サーバ名>
    db.setDatabaseName("NorthwindJ");
    db.setUserName("sa");
    db.setPassword("sql");
    if (!db.open()) {
        QMessageBox::critical(0, QObject::tr("DataBase Error"), db.lastError().text());
        return false;
    }
    return true;
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    if (!createConnetion()) {
        return 1;
    }

    QSqlQuery qry("SELECT * FROM [社員]");
    while (qry.next()) {
        QString code1 = qry.value(0).toString();
        QString name1 = qry.value(1).toString();
        QString name2 = qry.value(2).toString();
        qDebug() << qPrintable(code1) << ": " << qPrintable(name1) << ": " << qPrintable(name2);
    }

    MainWindow w;
    w.show();

    return a.exec();
}

再度コンパイル&実行すると、表示されるのはもちろん空ウィンドウです。
肝心の出力結果は「アプリケーション出力」に表示されます。

Photo

もし、こんなダイアログが表示された場合、SQLServerとの接続環境を確認してください。

Qtsqlerror

この例では、わざとパスワードを誤って設定してみました。

ここまでくれば、テキストの続きを進められると思います。
他のQtのサンプルを触って、GUIツール作ってみるのもいいかな。

« Qt5: MSSQL用ドライバを作成 | トップページ | ペインクリームすごい! »

仕事部屋」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/564846/59755938

この記事へのトラックバック一覧です: Qt5: 入門Qt4〜QtSqlから使ってみる:

« Qt5: MSSQL用ドライバを作成 | トップページ | ペインクリームすごい! »

2014年11月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
サイト内検索
ココログ最強検索 by 暴想

Twitter

開発Twitter

無料ブログはココログ