Qt SQLite データ書き込み
※ 現段階では書捨てです。後日正しく直します。
.pro ファイルにsqlを追加
QT += core gui sql
UIの構成
VBoxLayoutにQTextEditorとQPushButtonを追加したシンプルなUIです。
メインコード
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QTextEdit>
#include <QPushButton>
#include <QDebug>
#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// GUI 初期化
QWidget *window = new QWidget;
QVBoxLayout *MainLayout = new QVBoxLayout;
QTextEdit *Editor = new QTextEdit;
QPushButton *Run = new QPushButton("追加");
window->setWindowTitle("SQLite GUI サンプル");
window->resize(500, 500);
// Button クリックイベント
QObject::connect(Run, &QPushButton::clicked, [=]{
qDebug()<< "DB Open or Create";
// データベースを開く (無い場合は作成)
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./dbname.sqlite3");
db.open();
// テーブル作成
QSqlQuery query(db);
query.exec("create table tablename(id INTEGER PRIMARY KEY AUTOINCREMENT, note TEXT)");
// テーブルに値追加
query.prepare("insert into tablename (note) values (?)");
query.bindValue(0, Editor->toPlainText());
query.exec();
db.close();
});
MainLayout->addWidget(Editor);
MainLayout->addWidget(Run);
window->setLayout(MainLayout);
window->show();
return a.exec();
}
コメント
コメントを投稿