сервер БД хочет char *
выходит что так.
тут описана эта проблемма:
http://qt.nokia.com/developer/task-tracker/index_html?method=entry&id=188675в примерном переводе звучит так:
"QODBCResult::exec: Unable to execute statement: " [Microsoft][ODBC SQL Server Driver][SQL Server]Disallowed implicit conversion from data type ntext to data type varchar, table
'TheTaskDB.dbo.ReportTask', column 'Report'.
Use the CONVERT function to run this query. [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared."
QODBCResult::exec: Unable to execute statement: [Microsoft][ODBC SQL
Server Driver][SQL Server]недозволенное подразумемое преобразование типа данных ntext в тип varchar, таблица 'tempdb.dbo.#test_000000000746',
column 'two'. Используйте для этого запроса функцию CONVERT. [Microsoft][ODBC SQL Server Driver][SQL Server].
Невозможно подготовить утверждения.
Такая же проблема возникает, когда исполдьзоуется setData внутри модели таблицы,
и модель таблица хочет записать свои данные.
Не фиксит: Класс QString выдает символьную строку в юникоде, а varchar в SQL - не юникод. При вставке QString в поле varchar, строка требует преобразования, но SQL Server 2003 не разрешает подразумеваемые преобразования в некоторых случаях. Существует несколько путей решения проблемы: ивпользуйте nvarchar вместо varchar, используйте явный cast или компилируйте драйвер QODBC без поддержки юникода. Пример явного преобразования (подготовки выражения): "INSERT INTO test VALUES (cast(? as varchar))".
В SQL Server 2005 преобразование производится неявно."
Из этого выходит что лучше всего в даной ситуации воспользоватся советом:"компилируйте драйвер QODBC без поддержки юникода". Вот только как...может кто-то подскажет?