• 1146阅读
  • 1回复

连接数据库时不需要安装数据库或导入数据库文件吗? [复制链接]

上一主题 下一主题
离线lwei24
 

只看楼主 倒序阅读 楼主  发表于: 2021-01-19
QSqlDatabase db= QSqlDatabase :: addDatabase ( "QSQLITE" );db . setDatabaseName ( "database.db" );    if (! db . open())   {        qDebug () << "database open fail!" ;     } 如上代碼,在別人工程中直接連接數據庫,並未看到導入任何數據庫的文件,例如.sql文件或未安裝什麼東西,但是每次工程運行都會生成database.db這個文件,請問大家,這個東西是從哪裡來的?為什麼不用導入數據庫,就能夠直接連接上數據庫呢?
离线clickto

只看该作者 1楼 发表于: 2021-01-19
1、这使用的是sqlite数据库,单文件型的数据库,那个database.db就是数据库的全部实现,每次open的时候,如该不存在就创建一个,如果存在了就继续使用现有的;
2、数据库的驱动还是要带的,你这个工程带的是qsqlite.dll这个库,它负责sqlite数据库的功能实现;
3、数据库的连接由Qt给你做了,就是这个QSqlDatabase对象db,你通过db来操作数据库,而不用考虑其他的了
4、如果是其他类型的数据库,也是需要驱动库和连接库的,比如如果是mysql数据库,除了需要Qt自带的qsqlmysql.dll,还需要你使用的mysql版本的libmySQL.dll连接库
快速回复
限100 字节
 
上一个 下一个