Ответы пользователя по тегу MySQL
  • Удаление и редактирование строки mysql из tableView?

    oleja1ee7
    @oleja1ee7 Автор вопроса

    Удаление
    void MainWindow::on_del_butt_clicked()
    {
        QSqlQueryModel *setquery1 = new QSqlQueryModel;
        QSqlTableModel *model = new QSqlTableModel;
        QItemSelectionModel *selectModel = ui->tableView->selectionModel();
        if(!selectModel->selectedRows().isEmpty())   //проверяем выделили ли строку (не пустая ли)
        {
           int nr = selectModel->selectedRows().first().row();  //вписываем номер строки
           if (QMessageBox::Yes == QMessageBox::question(this, "Удалить?",
                                 "Уверены?",
                                 QMessageBox::Yes|QMessageBox::No))
           {
                //ui->dir_excel->setText(ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString());
                QString indid = ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString();
                setquery1->setQuery("DELETE FROM ships WHERE id="+indid+";");
                model->setTable("ships");
                model->select();
                ui->tableView->setModel(model);
                setquery1->setHeaderData(1, Qt::Horizontal, "№ судо-потока");
                setquery1->setHeaderData(2, Qt::Horizontal, "Наименование судна");
                setquery1->setHeaderData(3, Qt::Horizontal, "Флаг");
                setquery1->setHeaderData(4, Qt::Horizontal, "Проект судна");
                setquery1->setHeaderData(5, Qt::Horizontal, "Состав судна");
                setquery1->setHeaderData(6, Qt::Horizontal, "Проект состава");
                setquery1->setHeaderData(7, Qt::Horizontal, "Судовладелец");
                setquery1->setHeaderData(8, Qt::Horizontal, "Груз (пассажиры)");
                setquery1->setHeaderData(9, Qt::Horizontal, "Тоннаж (балласт)");
                setquery1->setHeaderData(10, Qt::Horizontal, "Осадка (см)");
                setquery1->setHeaderData(11, Qt::Horizontal, "Пункт отправления");
                setquery1->setHeaderData(12, Qt::Horizontal, "Местоположение\n(река, км с.х.)");
                setquery1->setHeaderData(13, Qt::Horizontal, "Дата выхода из\n пункта отправления");
                setquery1->setHeaderData(14, Qt::Horizontal, "Пункт назначения");
                setquery1->setHeaderData(15, Qt::Horizontal, "Местоположение\n(река, км с.х.)2");
                setquery1->setHeaderData(16, Qt::Horizontal, "Дата прибытия в\n пункт назначения");
                setquery1->setHeaderData(17, Qt::Horizontal, "Дата отметки судна\n при пересечении\n границы бассейна");
                setquery1->setHeaderData(18, Qt::Horizontal, "Наименование бассейна");
                setquery1->setHeaderData(19, Qt::Horizontal, "Диспетчер ");
                ui->tableView->setModel(setquery1);
                ui->tableView->setColumnHidden(0, true);
                ui->tableView->horizontalHeader()->setStyleSheet("QHeaderView::section { background-color:silver }");
           }
        }
        else
        {
            //сообщение о том, что строка пуста
            QMessageBox::information(0, "Ошибка", "Строка не выделена.");
        }
    
    }

    а редактирование через UPDATE
    Ответ написан
    Комментировать
  • Как загрузить БД MySQL, если выдает такую ошибку?

    oleja1ee7
    @oleja1ee7
    CREATE DATABASE namedb;
    USE namebd;
    CREATE TABLE rssbd_redirect_links (//////); / в скобках название столбцов, тип данных, через запятые. например pole1 CHAR(25)
    а тут уже ваш запрос
    Ответ написан
    Комментировать
  • Виноваты атрибуты на русском?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Помимо последней ошибки узнал еще её номер
    qDebug() << query.lastError().number()<< query.lastError().text();

    Оттуда накопал ошибку 1064, которая ничего не прояснила, но методом тыка понял что беда в апострофах, которыми обозначил атрибуты. Убрал и их.
    Следующая ошибка это было отсутствие первичного ключа в таблице.
    и несоответствие приведенных типов, я обозначал их как QString, но в таблице были 3 даты и 1 численный.
    Теперь все просто прекрасно. Спасибо за помощь, Игорь Джулай
    Ответ написан
    Комментировать
  • Как подключиться к MySQL из Qt Creator?

    oleja1ee7
    @oleja1ee7 Автор вопроса
    Все решилось, после действий, который описаны в самом вопросе.
    А так же, после всего этого воспользовался советами на сайте: https://gromr1.blogspot.ru/2014/04/compiling-drive...
    Ошибки больше не выдается. Может кому и помог.
    Ответ написан
    Комментировать