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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QODBC ошибка Unable to execute primary key list  (Прочитано 3299 раз)
karpenko1989
Гость
« : Февраль 27, 2012, 12:25 »

Здравствуйте. Строю дерево с использованием QSqlTableModel. При компиляции программы выводится предупреждение:
Код:
"QODBCDriver::primaryIndex: Unable to execute primary key list" 	Error: "" 
Дерево строится правильно, но текста не видно. Использую БД EMPRESS.

Если же использовать SQlite, то все работает правильно. Может быть Кто-нибудь сталкивался с такой проблемой?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 27, 2012, 12:30 »

Код показывай.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
karpenko1989
Гость
« Ответ #2 : Февраль 27, 2012, 12:34 »

Код:
.....
QSqlDatabase db  = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("emp_config");
db.setUserName("root");

.......

void TreeModel::setupModelData(TreeItem *parent)
{
  QMap<int, TreeItem*> parents;
  parents.insert(0, parent);

  QSqlQuery q;

  qDebug() << q.exec("select id, tag_source, marker,name from cfg_test where ((id >= 1001) AND (id <= 1050))");


  while (q.next()) {
    qDebug() << q.record();

    int id             = q.value(0).toInt();
    QString tag_source = q.value(1).toString();
    QString marker     = q.value(2).toString();

    if (marker.isEmpty())
    {
      marker_int = marker.toInt();
      marker_int = 0;
    }
    else
    {
      marker.truncate(4);
      marker_int = marker.toInt();
    }

    TreeItem *item = new TreeItem(id, parents.value(marker_int));

    parents.value(marker_int)->appendChild(item);

    if (!tag_source.isEmpty())
      parents.insert(id, item);
  }
}

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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