crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Проблема с QSqlTableModel, Проблема с QSqlTableModel
jatsuk
  опции профиля:
сообщение 3.1.2011, 0:27
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 3.1.2011
Пользователь №: 2320

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




Репутация:   0  


есть QSqlTableModel *prom;
Оттображается в TableView prom2
Нужно изьять данные из строки и поместить их в переменные (пользователь сам выделает строку)

Если заполнять вот так :

prom=new QSqlTableModel(0,db);
prom->setTable("Ayd");
prom->select();
prom->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_ui->prom2->setModel(prom);

Если применять вот это
QString str
str=prom->record(m_ui->prom2->currentIndex().row()).value("a_name").toString();

То всё норм, НО ДАННЫЕ ЗАПОЛНЯЮТСЯ ЧЕРЕЗ ЗАПРОС ВОТ ТАК :

QSqlQueryModel model3;

model3.setQuery("SELECT prom.c_para,n_chz,n_pod,d_name,p_name,n_tip,a_name FROM prom,para,chz,pod,Disc,Prepodavatel,tip,Ayd WHERE prom.c_para=para.c_para AND prom.c_chz=chz.c_chz AND prom.c_pod=pod.c_pod AND prom.d_cod=Disc.d_cod AND prom.p_cod=Prepodavatel.p_cod AND prom.c_tip=tip.c_tip AND prom.a_cod=Ayd.a_cod");

m_ui->prom2->setModel(&model3);

И через str=prom->record(m_ui->prom2->currentIndex().row()).value("a_name").toString();
уже не достается, т.к. программа вылетает.
В чем проблема, почему вылетает, ведь разница только в заполнении, а модели и TableView всё одинаково. И соответствующий вопрос , есть ли какой нибудь другой метод, ЧТОБЫ ПЕРЕДАТЬ в переменные из этой строки ????
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 2.12.2024, 8:02