参考资料:https://www.w3school.com.cn/sql/sql_intro.asp
注意在 .pro文件中加上:
QT += sql
#include <QApplication>
#include <QtSql>
#include <QtDebug>
int main( int argc, char **argv )
{
QApplication app( argc, argv );
/*******************************Part1:init db**********************************/
QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE" ); //添加数据库驱动名
// QStringList drivers = QSqlDatabase::drivers(); //返回当前环境所有可用数据库驱动清单
// drivers.removeAll("QMYSQL3"); //删除列表中的项
// foreach(QString driver, drivers) //遍历数据库驱动 ,测试数据库驱动种类
// qDebug() << “\t” << driver;
db.setDatabaseName( "./testdatabase.db" );
if( !db.open() )
{
qDebug() << db.lastError();
qFatal( "Failed to connect." );
return 0;
}
qDebug( "Connected!" );
QSqlQuery qry;
qry.prepare( "CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE PRIMARY KEY, firstname VARCHAR(30), lastname VARCHAR(30))" );
if( !qry.exec() )
qDebug() << qry.lastError();
else
qDebug() << "Table created!";
/*******************************Part2:INSERT 数据库语句**********************************/
//插入数据到表names中
qry.prepare( "INSERT INTO names (id, firstname, lastname) VALUES (1, 'John', 'Doe')" );
if( !qry.exec() )
qDebug() << qry.lastError();
else
qDebug( "Inserted!" );
qry.prepare( "INSERT INTO names (id, firstname, lastname) VALUES (2, 'Jane', 'Doe')" );
if( !qry.exec() )
qDebug() << qry.lastError();
else
qDebug( "Inserted!" );
qry.prepare( "INSERT INTO names (id, firstname, lastname) VALUES (3, 'James', 'Doe')" );
if( !qry.exec() )
qDebug() << qry.lastError();