Qt数据库,查询表的内容,获取查询结果的行数和列数

首先,连接数据库。

// 连接数据库
database_1=QSqlDatabase::addDatabase("QMYSQL","connect1");
database_1.setHostName("localhost");              // 数据库服务器IP。设置数据库主机名,数据库支持远程连接,这里是本地数据库 // 127.0.01
database_1.setUserName("root");                   // 设置数据库用户名
database_1.setPassword("Ymeng2014222");           // 设置密码
database_1.setDatabaseName("db2");                // 设置数据库名,使用哪个数据库,数据库要本来就有

if(database_1.open())
{
    qDebug()<<"open database success";
}
else
{
    qDebug()<<database_1.lastError().text();
}

然后,查询表的内容,获取表有多少行和列。

    QSqlQuery query2 = QSqlQuery(database_1);
    query2.exec("SELECT * FROM db2.table_component_info");
    // 上面这2句等同于下面注释的这1句
    // QSqlQuery query2("SELECT * FROM db2.table_component_info",database_1);
    
    QSqlRecord rec = query2.record();

    qDebug() << "表的列数:" << rec.count();         // 表一共有多少列 
    qDebug() << "表的行数:" << query2.size();       // 表一共有多少行

    int col = rec.indexOf("component_type");       // 获得属性"component_type"在表中的下标(从第0列开始数,第几列)
    while (query2.next())
    {
        qDebug() << query2.value(col).toString();  // 输出列名"component_type"下的所有值
    }


    database_1.close();

表格内容如下:
Qt数据库,查询表的内容,获取查询结果的行数和列数_第1张图片
输出结果如下:
Qt数据库,查询表的内容,获取查询结果的行数和列数_第2张图片

.record()函数和.size()函数的注释:

Qt数据库,查询表的内容,获取查询结果的行数和列数_第3张图片
Qt数据库,查询表的内容,获取查询结果的行数和列数_第4张图片

你可能感兴趣的:(数据库,Qt,MySQL)