Название: bindValue Отправлено: anDROid от Апрель 24, 2011, 12:32 http://www.prog.org.ru/topic_7098_0.html
Аналогичная проблема,так и не понял в чем суть. Код: qry.prepare( "SELECT value FROM settings WHERE name=:name" ); Код: qDebug() << qry.lastQuery(); Код: "SELECT value FROM settings WHERE name=:name" Название: Re: bindValue Отправлено: Drafter от Апрель 24, 2011, 22:38 Попробуйте:
qry.bindValue(":name", QVariant("Start")); Название: Re: bindValue Отправлено: silver47 от Апрель 25, 2011, 07:16 Какая база? Чего отвечает qDebug() << qry.lastError().text();
Название: Re: bindValue Отправлено: anDROid от Апрель 26, 2011, 14:06 Попробуйте: Не помоглоqry.bindValue(":name", QVariant("Start")); Название: Re: bindValue Отправлено: anDROid от Апрель 26, 2011, 14:06 Какая база? Чего отвечает qDebug() << qry.lastError().text(); sqliteКод: " Parameter count mismatch" Название: Re: bindValue Отправлено: Drafter от Апрель 28, 2011, 10:16 А база подключена к qry? И открыта ли она - db.isOpen()?
Должно быть как-то так: Код:
Название: Re: bindValue Отправлено: anDROid от Май 05, 2011, 10:48 Да,подключена,INSERT работает,а вот с селект такая трабла.
Проблему решил средствами QString Название: Re: bindValue Отправлено: shirushizo от Май 05, 2011, 11:19 Попробуйте:
1.Апострофы добавить. qry.prepare( "SELECT value FROM settings WHERE name= ':name' " ); 2. Заменить char* на QString qry.bindValue(":name",QString("Start")); Название: Re: bindValue Отправлено: anDROid от Май 16, 2011, 13:20 Попробуйте: Пробовал,не получается1.Апострофы добавить. qry.prepare( "SELECT value FROM settings WHERE name= ':name' " ); 2. Заменить char* на QString qry.bindValue(":name",QString("Start")); Название: Re: bindValue Отправлено: LisandreL от Май 16, 2011, 13:47 Цитировать Апострофы добавить. Не нужно. Бинд их добавляет, если нужно.qry.prepare( "SELECT value FROM settings WHERE name= ':name' " ); Цитировать qry.bindValue(":name", QVariant("Start")); Не нужно, хотя и не навредит.qry.bindValue(":name",QString("Start")); Цитировать Да,подключена,INSERT работает,а вот с селект такая трабла. Попробуйте вот так: qry.prepare( "SELECT [value] FROM [settings] WHERE [name]=:name;" );Если будет та же ошибка по очереди: qry.prepare( "SELECT * FROM [settings] WHERE [name]=:name;" ); qry.prepare( "SELECT * FROM [settings]" ); - последнюю без бинда. Если и это не сработает, проверяйте не опечатались ли где-нибудь в названии таблицы. |