QSqlDatabase 这个类的实例化对象用于连接数据库 官方代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("acidalia");
db.setDatabaseName("customdb");
db.setUserName("mojito");
db.setPassword("J0a1m8");
bool ok = db.open();
QSqlQuery 用来 提供执行和操作SQL的方法
下面说 exec
bool QSqlQuery::exec(const QString &query)
执行查询中的SQL。如果查询成功,则返回true并将查询状态设置为active;否则返回false。
active 就是成功执行,但尚未完成的QSqlQuery 可以理解为打电话 接通了 该说得话说完了 但是没有挂机
可以通过调用finish()或clear()使查询处于非活动状态,也可以删除qsqlquery实例。
查询字符串必须使用适合查询的SQL数据库的语法(例如,标准SQL)。
//db是已经连接成功的数据库
QSqlQuery query(db);
query.exec("insert into course values(0,'数学','峰老师')"); 这句话的意思是查询 如果没有对应的 则写入数据库中
QPorcess 类
这个类用来启动qt外的其他应用程序
例如
QProcess process; process.start("C:/MySQL/bin/mysqld.exe"); 表示它启动了 这个文件夹中的exe文件
QSqlTableModel类
QsqlTableModel是一个高级接口,用于从单个表中读取和写入数据库记录。它构建在较低级别的qsqlquery之上,可用于向视图类(如qtableview)提供数据。