crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

electronik
  опции профиля:
сообщение 16.6.2012, 15:31
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 16.6.2012
Пользователь №: 3424

Спасибо сказали: 1 раз(а)




Репутация:   0  


Всем доброго дня. Я учусь писать на Qt, поэтому сильно пожалуйста не пинайте.
Есть диалог добавления категорий. Там всего три строки "Имя, Альтернативное имя, Код". Всё это добавляется в таблицу базы PgSQL.
Хочу этот же диалог использовать и для редактирования.
Диалог добавления работает хорошо, а вот диалог редактирования никак не могу понять как сделать.
Вот мой код из categoriesviewdialog.cpp
void categoriesViewDialog::categoryModify(){

    QModelIndex indexRow = ui->categoryTableView->currentIndex(); //получаем текущее положение курсора
    int selectedRow = indexRow.row(); //получаем значение сторки
    int selectedColumn = 0; //0-потому что колонка с ID всегда идёт первой
    int ID = ui->categoryTableView->model()->data(ui->categoryTableView->model()->index(selectedRow,selectedColumn)).toInt(); //получаем categoryID из ячейки

    qDebug() << trUtf8("Строка:") << selectedRow; //debug
    qDebug() << trUtf8("ID для БД:") << ID; //debug

    QSqlQuery *getCategory = new QSqlQuery();
    getCategory->prepare("SELECT category_id, name, altname, code FROM "
                           "public.categories "
                         "WHERE "
                         "categories.deleted = 'false' AND "
                           "categories.category_id=:categoryID");
    getCategory->bindValue(":categoryID",ID);
    getCategory->exec();
//    if(queryCategoryAdd->lastError().isValid()) //временный камент для отладки, потом вернуть назад.

    qDebug() << trUtf8("Запрос:") << getCategory->executedQuery();

    while (getCategory->next()){
        int categoryID = getCategory->value(0).toInt();
        QString name = getCategory->value(1).toString();
        QString altname = getCategory->value(2).toString();
        int code = getCategory->value(3).toInt();это 
        qDebug() << "Category ID:" << categoryID;
        qDebug() << "Name:" << name;
        qDebug() << "altName:" << altname;
        qDebug() << "Code:" << code;

    }



}

Как мне передать параметры categoryID, name, altname, code в мой диалог?
void categoriesChangeDialog::categoryMod(){
    qDebug() << "Category ID:" << categoryID;
    qDebug() << "Name:" << name;
    qDebug() << "altname:" << altname;
    qDebug() << "Code:" << code;
    ui->categoriesNameLineEdit->setText(name); //устанавливаем значение для редактирования
    ui->categoriesAltNameLineEdit->setText(altname); //устанавливаем значение для редактирования
    ui->categoriesCodeLineEdit->setText(QString::number(code)); //устанавливаем значение для редактирования
    categoriesChangeDialog dialog(this);
    dialog.exec();



}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 11:14