2013-03-14 2 views
3

Я ничего не могу найти о получении поплавков из набора результатов или о том, как хранить поплавки в подготовленном операторе, чтобы создать запрос, чтобы вставить номер с плавающей запятой. Можно ли это сделать? Должен ли я хранить их с помощью массива символов? Заранее спасибоMysql Connector C++ и floats

ответ

4

Для получения результатов, я ожидаю, что вы используете ResultSet::getDouble - для утверждений, PreparedStatement::setDouble.

В частности, не должно быть жилья для float, но определение базовой колонки будет FLOAT или DOUBLE.

+0

Спасибо вам за ответ, я, кажется, есть проблема с использованием getDouble(), с помощью таблицы, как с лат и долготу в два раза: в то время как (res-> предыдущий()) { соиЬ << «Печать строки» << res-> getInt ("id") << "|" << res-> getDouble ("lat") << "|" << res-> getDouble ("lon") << endl; } Получает мне: Terminate под названием кинув экземпляр «SQL :: InvalidArgumentException» , что(): MySQLPreparedResultSet :: getDouble: недопустимый «ColumnIndex» Что происходит только тогда, когда я пытаюсь получить лат или Lon столбцов. – Lautaro

+0

Это очень плохо, возможно, вы * должны * использовать строки и конвертировать туда и обратно. Вы пытались это сделать? –

+0

Я не вижу, что строки необходимы, исходный код позволяет получить двойной доступ. http://bazaar.launchpad.net/~mysql/mysql-connector-cpp/trunk/view/head:/driver/mysql_ps_resultset.cpp - вы уверены, что идентификаторы столбцов верны? –