「入門Qt4プログラミング」の13章はデータベースについてです。
Qt5環境でもテキストに従い、例題を進めます。
ただし、接続するデータベースはSQLServerです。
QtCreatorで新しいプロジェクトから「Qtウィジェットアプリケーション」を選択。
適当なプロジェクト名(ここではDBTest)を付けて、ひとまず保存。
コンパイル&実行して、空ウィンドウが表示されるのを確認。
まずは、QtSqlを利用する前に、DBTest.proファイルを編集します。
続いて、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();
}
再度コンパイル&実行すると、表示されるのはもちろん空ウィンドウです。
肝心の出力結果は「アプリケーション出力」に表示されます。
もし、こんなダイアログが表示された場合、SQLServerとの接続環境を確認してください。
この例では、わざとパスワードを誤って設定してみました。
ここまでくれば、テキストの続きを進められると思います。
他のQtのサンプルを触って、GUIツール作ってみるのもいいかな。