Russian Qt Forum

Qt => Базы данных => Тема начата: a550ee от Декабрь 02, 2005, 11:15



Название: qt3 + firebird + qodbc
Отправлено: a550ee от Декабрь 02, 2005, 11:15
Привет!
Использую qt-шный драйвер qodbc3 для работы с firebird-ом 1.5.2.4731, (firebird odbc driver 1.2.0.69) и наткнулся на следующее:

Код:

QSqlQuery l_sq("select anything from mytable;");
while(l_sq.next())
{
  doSomething(l_sq.value(0).toString());
}

Результатом такой выборки будет полный набор записей из mytable плюс первая сторка удвоена, т.е. первая строка, первая строка, вторая, третья ... последняя.
Если я вставлю l_sq.first() после создания QSqlQuery:
Код:

QSqlQuery l_sq("select anything from mytable;");
l_sq.first()
while(l_sq.next())
...

то результат будет правильным ... но data-aware контролы все равно будет показывать данные неправильно: QDataTable будет показывать правильное количество строк, удвоит первую и не покажет последнюю.
Я пробовал другую СУБД через тот же qodbc3 и такой проблемы не наблюдал, думаю, это специфика связки qt+firebird.
Кто в курсе, как это побороть, отпишитесь, пожалуйста.


Название: qt3 + firebird + qodbc
Отправлено: zlatko от Декабрь 02, 2005, 13:51
попробуй без одбс


Название: qt3 + firebird + qodbc
Отправлено: a550ee от Декабрь 05, 2005, 14:44
Цитировать
попробуй без одбс

ODBC - это данность. Отказываться от использования этой технологии я не могу.

Также необходимыми условиями являются СУБД firebird и qt.