源码分享:
在这里插入代码片#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QSql>
#include <QString>
#include <QStringList>
#include <QDebug>
#include <QStringListIterator>
#include <QSqlQuery>
#include <QSqlError>
bool outPutTableInfo(QString tableNmae);
bool outputDatabaseInfo(QSqlDatabase databaseName);
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("cashregistersystem.db");
outputDatabaseInfo(database);
return a.exec();
}
bool outputDatabaseInfo(QSqlDatabase database)
{
if (database.open())
{
qDebug() << "Open database success!";
QStringList tables = database.tables(); //获取数据库中的表
qDebug() << QString::fromLocal8Bit("表的个数: %1").arg(tables.count()); //打印表的个数
QStringListIterator itr(tables);
while (itr.hasNext())
{
QString tableNmae = itr.next().toLocal8Bit();
qDebug() << QString::fromLocal8Bit("表名:")+ tableNmae;
outPutTableInfo(tableNmae);
}
}
else
{
qDebug() << "Open database failed!";
return false;
}
return true;
}
bool outPutTableInfo(QString tabNmae)
{
QSqlQuery query;
QString strTableNmae = tabNmae;
QString str = QString("select column_name,column_type from information_schema.columns where table_name='%1'").arg(strTableNmae);
query.prepare(str);
if (query.exec())
{
while (query.next())
{
qDebug() << QString(QString::fromUft8("字段数:%1 字段名:%2 字段类型:%3")).arg(query.value(0).toString()).arg(query.value(1).toString()).arg(query.value(2).toString());
}
}
else
{
qDebug() << query.lastError();
return false;
}
return true;
}
运行截图:
Qt之操作数据库(SQLite)实例:http://blog.csdn.net/rl529014/article/details/52127173
原文链接:https://blog.csdn.net/rl529014/article/details/52424541