Russian Qt Forum

Qt => Базы данных => Тема начата: Sergeich от Март 20, 2007, 18:44



Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Sergeich от Март 20, 2007, 18:44
Драйвер, поставляемый с Qt3 написан для SQLite 2.x.x, а нужен именно под SQLite 3.3.x. Кому-нибудь сие чудо встречалось? Или придеться писать самому  :(


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: SABROG от Март 20, 2007, 18:59
А Qt4 ставить не хочешь ?


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Sergeich от Март 20, 2007, 19:26
Хочу, но не могу :( Проект слишком большой, а времени на миграцию на 4-ку начальство выделять не хочет.

добавлено спустя 21 минуту:

 Нашел :) Если кому интересно: http://www.kde-apps.org/content/show.php?content=23011


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Winstrol от Март 22, 2007, 16:28
Цитата: "Sergeich"
Хочу, но не могу :( Проект слишком большой, а времени на миграцию на 4-ку начальство выделять не хочет.

добавлено спустя 21 минуту:

 Нашел :) Если кому интересно: http://www.kde-apps.org/content/show.php?content=23011

Не едут лыжи.
Код:

qsqlcachedresult.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) const QSql
CachedResult::`vftable'" (__imp_??_7QSqlCachedResult@@6B@) referenced in function "protected: __th
iscall QSqlCachedResult::QSqlCachedResult(class QSqlDriver const *)" (??0QSqlCachedResult@@IAE@PBV
QSqlDriver@@@Z)
..\sqldrivers\qsqlite3.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN\nmake.exe"
' : return code '0x2'
Stop.


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Sergeich от Март 22, 2007, 20:28
Цитата: "Winstrol"

Не едут лыжи.

Надо смазывать :) Убери экспорт ( что-то вроде QM_EXPORT... точно не помню ) из определения QSqlCachedResult.


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Winstrol от Март 22, 2007, 20:48
Цитата: "Sergeich"
Цитата: "Winstrol"

Не едут лыжи.

Надо смазывать :) Убери экспорт ( что-то вроде QM_EXPORT... точно не помню ) из определения QSqlCachedResult.


Разобрался

QM_EXPORT... надо заменить на __declspec(dllexport)

Там видимо задумка была, что при сборке драйвера должен быть __declspec(dllexport),
а при простом подключении заголовка __declspec(dllimport), но там какой-то косяк с этим.


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Winstrol от Март 26, 2007, 13:54
С блобами там беда какая-то или я что-то неправильно делаю, т.к. вроде они поддерживаются. Примерчик не кинешь?


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Sergeich от Март 28, 2007, 01:19
Цитата: "Winstrol"
С блобами там беда какая-то или я что-то неправильно делаю, т.к. вроде они поддерживаются. Примерчик не кинешь?
А че за проблемы?


Название: [Qt 3.3.4] Драйвер для SQLite 3.3.x
Отправлено: Winstrol от Март 29, 2007, 13:01
Цитата: "Sergeich"
Цитата: "Winstrol"
С блобами там беда какая-то или я что-то неправильно делаю, т.к. вроде они поддерживаются. Примерчик не кинешь?
А че за проблемы?

Код:

qWarning(cur.value( "binfield" ).typeName());

"QString" пишет, а не QByteArray. В итоге на выходе hex строка двоичных данных, т.е.  2хкратное увеличение размера.