1、Qt 连接数据库1:连接 sqlitem_dstDB = QSqlDatabase:addDatabase(“QSQLITE“,“tempsql“);/tempmsql 为了不取默认连接,若果只是用一个数据库的时候可以省略,但是如果是两个数据库中数据库中的数据相互调用时,显得就重要了,比如从一个数据库中取数据插入另外一个数据库中操作数据库:利用 QSqlQuery 进行操作m_Serverdb.setDatabaseName(dbpath);设置数据库连接属性,其中 dbpath 可以是“123.db3”也可以包含路径例如:“d:/12/123.db3”if (m_Serverdb.open(
2、)QSqlQuery tablequery=QSqlQuery(m_Serverdb);tablequery.exec(“select * from sqlite_master WHERE sql is not null“);/查看sqlite中几个用户表tablequery.last();int tablecount=tablequery.at(); /结果集中一共多少条数据if (tablecountQSqlDatabase 类实现了数据库连接的操作QSqlQuery 类用来执行 SQL 语句QSqlRecord 类 封装数据库所有记录int id = query.value(1).toI
3、nt(); seek(int n) :query 指向结果集的第 n 条记录。指定当前的位置first() : query 指向结果集的第一条记录。last() : query 指向结果集的最后一条记录。next() :query 指向下一条记录,每执行一次该函数,便指向相邻的下一条记录。previous() :query 指向上一条记录,每执行一次该函数,便指向相邻的上一条记录。record() :获得现在指向的记录。value(int n) :获得属性的值。其中 n 表示你查询的第 n 个属性,比方上面我们使用“select * from student”就相当于“select id, name from student”,那么 value(0)返回 id 属性的值,value(1)返回 name 属性的值。该函数返回 QVariant 类型的数据,关于该类型与其他类型的对应关系,可以在帮助中查看 QVariant。at()/返回当前查询的位置int fieldNo = query.record().indexOf(“name”);/返回“name“的列号