Russian Qt Forum

Qt => Базы данных => Тема начата: MadKriS от Декабрь 25, 2009, 12:32



Название: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: MadKriS от Декабрь 25, 2009, 12:32
Образовался трабл следующий.
Использую препарированный запрос к БД, потом placeholder'ы заменяю значениями посредством функции bindValue.

Код:
query.prepare("SELECT name FROM table1 WHERE id=?");
query.bindValue(0, 1);
query.exec();
сервер отвечает ошибкой "Unsupported buffer type 253 parametr(0)".

Проверял установленное значение функцией boundValue - всё нормально.

Пробовал писать
Код:
query.prepare("SELECT name FROM table1 WHERE id=:id");
query.bindValue(":id", 1);
результат тот же.

Использую MySQL 5.1, Qt 4.3.3, 2008 Студия (если что).


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: BRE от Декабрь 25, 2009, 12:34
А каким запросом создается таблица?


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: KADABRA от Декабрь 25, 2009, 18:30
Использую MySQL 5.1, Qt 4.3.3, 2008 Студия (если что).
Qt самосборная?
Скорее всего проблема в версии MySQL и клиентской библиотеки, которую использует Qt.


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: MadKriS от Декабрь 25, 2009, 20:39
ошибка, естественно, - "Using unsupported:253 parametr(0) - Unable bind outvalues", конечно. :)

Таблицы были созданы через EMS MySQL Manager, а не программно.

Qt - интегрированная


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: Пантер от Декабрь 25, 2009, 20:46
У тебя спрашивали как создавалась таблица. Т.е. ее структуру, типа:
Код
SQL
CREATE TABLE{
id integer,
hz varchar(10),
.....
}
 


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: MadKriS от Декабрь 26, 2009, 16:29
Код
SQL
CREATE TABLE `disciplines`(
`id` integer(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30),
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
 


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: KADABRA от Декабрь 26, 2009, 19:19
Qt - интегрированная
Куда-куда, говорите сбегатьинтегрированное?

Я же говорю - с большой долей вероятности проблема в разных версиях клиентской библиотеки mysql и самого mysql сервера.


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: MadKriS от Декабрь 28, 2009, 14:30
Я же говорю - с большой долей вероятности проблема в разных версиях клиентской библиотеки mysql и самого mysql сервера.
а это можно как-нибудь понять?


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: KADABRA от Декабрь 28, 2009, 16:33
а это можно как-нибудь понять?
Конечно можно, можно даже дословно.
Попробуйте пересобрать плагин sqldrivers/mysql с той библиотекой, которая идёт с MySQL к которому вы подключаетесь.


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: Maximus от Декабрь 28, 2009, 22:17
Тут написано как собрать плагин MySql пункты:
2) Создадим файл DEF
3) Создаем библиотеку импорта MinGW
!!!можно не выполнять!!!  (http://www.prog.org.ru/index.php?topic=8802.msg50556#msg50556)


Название: Re: Unsupported buffer type 253 parametr (0) при bindValue
Отправлено: MadKriS от Январь 10, 2010, 23:57
Вобщем я пересобрал qt'шную библиотеку для мускула на основе библиотеки используемой версии мускула и всё стало it works! ;)
всем спасибо )