文档介绍:qt数据库总结当然我们一定要记住这个顺序,先创建数据库,然后再去创建一个表,还有一点需要注意的红色标记的那句话,我参考的数籍一般都这样写(":memory:"); 这样就把生成的数据库文件是在内存当中的,在工程文件目录下找不到。上面使我们创建了一个数据库和一个表,那么我们如何把它呈现在我们的QTableview部件上呢?QSqlTableModel*model=newQSqlTableModel; model->setTable("person"); model->setEditStrategy(QSqlTableModel::OnManualSubmit); model->select(); ui->tableView->setModel(model); ui->tableView->show(); 上面的代码就把数据库中的信息不加筛选的打印到控件上了。第一次写博客大家多多包涵。。。 Qt中提高sqlite的读写速度 SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行("insertintoDataBase(......) values(......)");就会打开和关闭文件100万次,所以速度当然会很慢。SQLite数据库是支持事务操作的,于是我们就可以通过事务来提高数据库的读写速度。事务的基本原理是:数据库管理系统首先会把要执行的sql语句存储到内存当中,mit()的时候才一次性全部执行所有内存中的数据库。下面是一个简单的QTsqlite数据库事务的例子: #include #include #include usingnamespacestd; intmain(intargc,char*argv[]) { QCoreApplicationa(argc,argv); QSqlDatabasedb_sqlite=QSqlDatabase::addDatabase("QSQLITE","connSQLite"); db_(""); db_(); QSqlQueryquery("",db_sqlite); ess=false; QTimetmpTime; //开始启动事务 db_(); (); for(inti=0;istudent”); (); intid=(0).toInt(); QStringname=(1).toString(); qDebug()spinBox->value();//从界面获取id的值(id);//将id值进行绑定(); ();//指向第一条记录 qDebug()。我们在程序中利用列表存储了同一属性的多个值,然后进行了值绑定。最后执行execBatch()函数进行批处理。注意程序中利用QVariant(QVariant::String)来输入空值NULL,因为前面都是QString类型的,所以这里要使用 QVariant::String使格式一致化。运行效果如下: 。事务是数据库的一个重要功能,所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。在Qt中用 transaction()开始一个事