Название: Добавление items в QListWidget из БД Отправлено: vladzian от Февраль 24, 2011, 21:47 Помогите пожалуйста!!! Я студент и совсем новичек в Qt. Хочу сделать так чтобы в QListWidget итемсы брались из БД. Т.е. допустим есть таблица с названием книг, автором, годом выпуска. Мне нужно чтобы в QListWidget я мог выбирать из названия книг, ну и соответственно там чето далее делать.
из бд читаю так: bool SQL_READ(const QString &sql,QString *s) { QSqlQuery query(db); if(!query.exec(sql))return(false); s->clear(); while(query.next()) s->append(QString("%2;%3\r\n").arg(query.value(0).toString()) .arg(query.value(1).toString())); s->chop(2); return(true); } int main(int argc, char *argv[]) { QApplication a(argc, argv); db = QSqlDatabase::addDatabase("QODBC","MS Access Database"); db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};" "FIL={MS Access};DBQ=D:/prg/scan.mdb"); db.open(); QString s; SQL_READ("SELECT books_name FROM books",&s); QTextBrowser w; w.setText(s); w.show(); return a.exec(); } Название: Re: Добавление items в QListWidget из БД Отправлено: Пантер от Февраль 24, 2011, 21:53 Ты и в с++ новичок. :)
Читай в ассистенте про QSqlQueryModel. Название: Re: Добавление items в QListWidget из БД Отправлено: vladzian от Февраль 24, 2011, 22:39 можно тогда другой вопрос?
int main(int argc, char *argv[]) { QApplication a(argc, argv); db = QSqlDatabase::addDatabase("QODBC","MS Access Database"); db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};" "FIL={MS Access};DBQ=D:/prg/scan.mdb"); db.open(); if (db.open()){ qDebug()<<" open"; } QTableView view; QSqlTableModel model; model.setTable("books"); model.select(); model.setEditStrategy(QSqlTableModel::OnFieldChange); view.setModel(&model); view.show(); return a.exec(); } база открывается, но появляется просто белое окно, никаких данных из таблицы не выводится...(я оч новичек во всем этом!! :)) Название: Re: Добавление items в QListWidget из БД Отправлено: Пантер от Февраль 24, 2011, 23:13 База открывается? (open выдает в консоль?) Сделай после model.select () вывод qDebug () model.lastError ().text ()
|