因为需要,需要做一个SQL数据库来保存数据。还要有MVC模式的思想。做了一些关于SQL的一些操作。
头文件:
#include <QCoreApplication> #include <QSql> #include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery> #include <QString> #include <QFile> #include <QDebug> #include <QVariantList>
创建.db文件,打开数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("MyDatabase.db"); if (!db.open()) { qDebug() << "Open db error."; } else { //打开成功后做的操作 }
创建数据库,插入数据,输出数据:
QString create_sql = "create table student(id int primary key, name value(30), age int)"; sql_query.prepare(create_sql); if (!sql_query.exec()) { qDebug() << "Error: Fail to create table." << sql_query.lastError(); } else { qDebug() << "Table created!"; }
//插入数据(1) QString insert_sql = "insert into student value (?,?,?)"; sql_query.prepare(insert_sql); sql_query.addBindValue(1); sql_query.addBindValue("xiu"); sql_query.addBindValue("20"); if (!sql_query.exec()) { qDebug() << sql_query.lastError(); } else { qDebug() << "insert xiu."; } //插入数据(2) if(!sql_query.exec("INSERT INTO STUDENT VALUES(2, \"wang\",17)")) { qDebug() << sql_query.lastError(); } else { qDebug() << "insert wang. "; }
//输出 QString select_all_sql = "select * from student"; sql_query.prepare(select_all_sql); if (!sql_query.exec()) { qDebug() << sql_query.lastError(); } else { while (sql_query.next()) { int id = sql_query.value(0).toInt(); QString name = sql_query.value(1).toString(); int age = sql_query.value(2).toInt(); qDebug() << QString("ID:%1 Name:%2 Age:%3").arg(id).arg(name).arg(age); } }
主要熟悉了简单的增删改查功能。