首先,连接数据库。
// 连接数据库
database_1=QSqlDatabase::addDatabase("QMYSQL","connect1");
database_1.setHostName("localhost"); // 数据库服务器IP。设置数据库主机名,数据库支持远程连接,这里是本地数据库 // 127.0.01
database_1.setUserName("root"); // 设置数据库用户名
database_1.setPassword("你的数据库root密码"); // 设置密码
database_1.setDatabaseName("你要用的数据库名字"); // 设置数据库名,使用哪个数据库,数据库要本来就有
if(database_1.open()) {
qDebug()<<"open database success"; // 数据库打开成功
} else {
qDebug()<<database_1.lastError().text(); // 数据库打开失败
}
然后,查询表的内容,获取表有多少行和列。
QSqlQuery query2 = QSqlQuery(database_1);
query2.exec("SELECT * FROM db2.my_table"); // 查询数据库db2的表my_table的所有行和列
// 上面这2句等同于下面注释的这1句
// QSqlQuery query2("SELECT * FROM db2.my_table",database_1);
QSqlRecord rec = query2.record();
qDebug() << "表的列数:" << rec.count(); // 表一共有多少列
qDebug() << "表的行数:" << query2.size(); // 表一共有多少行
database_1.close(); // 关闭数据库
官方帮助文档中.record()函数和.size()函数的注释:
rec.count()返回查询结果的列数。
query.size()返回查询结果的行数。