1、查询所有数据库名
QSqlQuery query("show databases;");
2、查询所有表名
QString qs = QString("select table_name from information_schema.tables where table_schema='%1' and table_type='BASE TABLE';").arg(text);
QSqlQuery q(qs);
text为数据库名
3、查询所有字段名
QSqlQuery query(QString("SHOW FULL COLUMNS FROM `%1`;").arg(mCUrrentTablename));
mCUrrentTablename为需要查询的表名
4、查询表的总行数
QSqlQuery query(QString("SELECT COUNT(*) FROM %1;").arg(tablename));
tablename为需要查询的表名
5、分页显示
QString strfilter = QString("1=1 limit %1,%2;").arg( page * mOnepageCount ).arg(mOnepageCount);
mDbmodel->setFilter(strfilter);
page 需要显示第几页
mOnepageCount每页显示的行数
需要配合QSqlTableModel和QTableView
设置筛选条件后再调用select,缩短时间,对于数据量大有帮助
6、参数设置
m_db.setConnectOptions("MYSQL_OPT_RECONNECT=1;MYSQL_OPT_CONNECT_TIMEOUT=1;MYSQL_OPT_READ_TIMEOUT=1;MYSQL_OPT_WRITE_TIMEOUT=1");