Как получить список колонок и типы колонок в базе SQLite? А потом динамически добавить название колонки в Label + добавить LineEdit или Spin Box в зависимости от типа колонки, если тип колонки Text - LineEdit , если тип integer - Spin Box. Qt C++
QHBoxLayout* Layout = new QHBoxLayout;
Layout->setSizeConstraint(QLayout::SetMaximumSize);
QSqlQuery* queryTow = new QSqlQuery(conn.mydb);
QString sqlQueryTow = QString("SELECT column_name,column_type FROM table_name=%1").arg(query->value(0).toString());
queryTow->prepare(sqlQueryTow);
queryTow->exec();
while (queryTow->next()) {
QLabel *Label = new QLabel(this);
QString columnName = queryTow->value(0).toString();
Label->setText(columnName);
Layout->addWidget(Label);
QString columnType = queryTow->value(1).toString();
if(columnType="TEXT") {
QLineEdit *LineEdit = new QLineEdit();
Layout->addWidget(LineEdit);
} else if (columnType="INTEGER") {
QSpinBox *SpinBox = new QSpinBox(this);
Layout->addWidget(SpinBox);
}
}
Динамически добавляя Label, LineEdit и SpinBox , как назвать их уникально ?
Получить информацию по конкретной таблице можно с помощью запроса ко внутренней таблице sqlite_master
-
select * from sqlite_master where name='Имя_Таблицы';
Руками, работая в стандартной оболочке - команда .schema
выведет информацию о таблицах - обо всех, если без параметров, или о конкретной при запросе
.schema Имя_Таблицы
Кстати, вот тут статья о внутренних таблицах SQLite.
Я хочу сделать игру, ее уровни будут хранится в формате XML точнее говоря там будет для каждого тайла прописан тег и как ни странно файлы будут...