Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
QAZSE
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 14
1

Редактирование данных через QSqlQueryModel+tableView

24.04.2015, 23:11. Просмотров 1491. Ответов 3
Метки нет (Все метки)

Все добра!
Необходимо отобразить в tableview и редактировать данные из нескольких таблиц. Как понимаю это можно сделать только QSqlTableModel.
Вывожу данные вот так:
C++ (Qt)
1
2
3
  model = new QSqlQueryModel;
   model->setQuery("[SQL]SELECT doctors.last_name,doctors.name,doctors.middle_name,specialities.name_speciality,doctors.note FROM doctors JOIN doctors_specialities JOIN specialities WHERE doctors.id_doctor = doctors_specialities.id_doctor AND doctors_specialities.id_speciality = specialities.id_speciality[/SQL]"); 
    ui->tableView->setModel(model);
Остается проблема с редактированием.
Для одной таблицы делал с помощью QSqlTableModel кнопки:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Specialities::on_addButton_clicked()
{
    model->insertRow(model->rowCount());
}
 
void Specialities::on_deleteButton_clicked()
{
    int selectedRow = ui->tableView->currentIndex().row();
    if (selectedRow >= 0){
        model->removeRow(selectedRow);
    }
}
 
void Specialities::on_saveButton_clicked()
{
    model->submitAll(); 
    //model->select();/*перезапись экрана*/
}
 
void Specialities::on_canceleButton_clicked()
{
     model->revertAll();
}

Уважаемые знатоки Qt, подскажите, как мне сделать такие же кнопки только при помощи запросов?


З.Ы.:прошу прощения за корявость речи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2015, 23:11
Ответы с готовыми решениями:

tableview, ui и QSqlQueryModel
я в qt нуб. подскажите в чем причина. форум перерыл, но не нашел почему не...

Как в Qt создать привязку табличных данных к QLineEdit через QSqlQueryModel с возможностью пересчета данных в таблице и на форме в QLineEdit
Уважаемые пишу программу с большим количеством вычислений возник вопрос Как в...

Обновление данных при их изменении (QSqlQuery и QSqlQueryModel)
Помогите, пожалуйста. Подключаюсь к базе данных, формирую запрос с...

Получение данных из компонента tableView
Доброго времени суток. В моей базе данных есть представление которое красиво...

QML TableView. Обработка данных - C++ Qt
Всем доброго времени суток. У меня есть QML TableView, я выбираю из под c++ в...

3
QAZSE
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 14
06.05.2015, 19:22  [ТС] 2
Вопрос решен=)
0
Sub_Zero
Заблокирован
06.05.2015, 20:10 3
Цитата Сообщение от QAZSE Посмотреть сообщение
Вопрос решен=)
Рас решён, пиши сюда как, может кому - то ещё пригодиться
0
QAZSE
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 14
12.05.2015, 19:53  [ТС] 4
Делал все с помощью запросов.
К примеру кнопка "удаление"
C++ (Qt)
1
2
3
4
5
6
7
8
9
void Doctors::on_deleteButton_clicked()
{
    QSqlQuery newquery(db);
    newquery.prepare("DELETE FROM doctor WHERE id_doctor = :id_doc");
   newquery.bindValue(":id_doc",ui->tableView->model()->data(ui->tableView->currentIndex(),0));
    newquery.exec();
    qDebug()<< "!!!!" <<newquery.lastQuery();
    
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2015, 19:53

Как исправить ошибки при открытии базы данных в Qt в объекте tableView?
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is...

QSqlQueryModel::insertColumns
извините за глупый наверное вопрос, но для перестраховки хочу спросить. Дынный...

QSqlQueryModel + QTableView + QDateTime
В табличке, в столбце с датой, отображается 17.06.15 11:18. Хотя, вывод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru