Russian Qt Forum
Ноябрь 23, 2024, 10:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Удаление записей/полей QSqlTableModel  (Прочитано 2038 раз)
pro100skif
Гость
« : Июнь 22, 2014, 20:33 »

Доброго времени суток, реализовал в программе удаление полей или записей такими функциями:
Код:
void MainWindow::deleteRecord()
{
    QSqlQuery query;
    QString str;
    int id;

    QModelIndexList indexes =   ui->sqlTable->selectionModel()->selection().indexes();
    foreach(QModelIndex index, indexes) {
            QSqlRecord record = model->record(index.row());
            id = record.value("ID").toInt();
            qDebug()<<id;
            str=QString::number(id);
            query.exec("delete from "+tableName+" where ID="+str);
        }
    model->setTable(tableName);
    model->select();
    ui->sqlTable->setModel(model);
}

Код:
void MainWindow::deleteField()
{
    int cnumber;
    QModelIndexList indexes =   ui->sqlTable->selectionModel()->selection().indexes();
    foreach(QModelIndex index, indexes) {
            cnumber=index.column();
            qDebug()<<cnumber;
            QSqlRecord record=model->record();
            QString field=record.fieldName(cnumber);
            qDebug()<<field;
            QSqlQuery query;
            query.exec("alter table "+tableName+" drop column "+field);

        }
    model->setTable(tableName);
    model->select();
    ui->sqlTable->setModel(model);

}
но столкнулся с проблемой: например я выделил запись и нажимаю кнопку удалить поле, в результате оно удаляет все поля, аналогичная ситуация и с удалением записей при выбранном поле.Вопрос как можно ли отследить что выбрано поле или запись и наложить какое то условие в функцию удаления например If(....выбрано поле а нужно удалить запись...)return;Заранее спасибо за помощь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 21.