Как считать значение поля SQL таблицы в переменную |
Здравствуйте, гость ( Вход | Регистрация )
Как считать значение поля SQL таблицы в переменную |
Litkevich Yuriy |
21.4.2009, 16:03
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
21.4.2009, 16:12
Сообщение
#12
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
2) как посчитать количество строк в столбце/табице? К сожалению метод int QSqlQuery::size () const не всегда выдает корректное значение с разными настройками соединения или базами данных. Если курсор находится на стороне сервера то, как правило, возврат данных после запроса идет быстрее из-за того, что становится доступной первая порция данных скажем 10 строк из 1000. Пока пользователь работает с этой порцией - обработка запроса продолжается и данных становится все больше и больше. Если же мы передвинем курсор на 500-ую запись, то нам придется ждать ответа от сервера. При этом метод size() не будет возвращать корректное значение, т.к. запрос еще не завершился. Если же курсор находится на стороне клиента, то пользователь будет каждый раз ждать пока клиент выкачает все данные с сервера. Это тормозит работу. В общем подобную проблему я решал двумя путями: - 2 запроса вместо одного: "SELECT COUNT(primary_key) FROM table WHERE <my query>" и "SELECT field1, field2 FROM table WHERE <my query>". Несмотря на кажущийся overhead большинство современных баз данных кэшируют результаты запросов и держат некоторое время в памяти данные к которым недавно обращались. - использование этого кода:
Сообщение отредактировал SABROG - 21.4.2009, 16:17 |
|
|
soskol-ist |
22.4.2009, 11:43
Сообщение
#13
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 20.4.2009 Пользователь №: 697 Спасибо сказали: 0 раз(а) Репутация: 0 |
еще вопрос, всю голову сломал, вроде все правильно записано, а при запросе возвращает false
|
|
|
Kagami |
22.4.2009, 13:54
Сообщение
#14
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
1. Может стоит инициализировать tau?
2. Не совсем понятен оператор "=+". Может имелось в виду "+="? 3. Почему бы не посмотреть сообщение об ошибке?
вместо
Кстати, а какой драйвер используется? Вроде бы QSQLITE не умеет возвращать размер выборки |
|
|
soskol-ist |
22.4.2009, 20:24
Сообщение
#15
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 20.4.2009 Пользователь №: 697 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. Может стоит инициализировать tau? инициализировал Цитата 2. Не совсем понятен оператор "=+". Может имелось в виду "+="? да описался "+=" Цитата 3. Почему бы не посмотреть сообщение об ошибке?
вот такая ошибка Цитата QSqlError(2036, "QMYSQL3: Unable to bind value", "Using unsupported buffer type: 1073741824 (parameter: 1)") , как с ней бороться ума не приложу. Цитата Кстати, а какой драйвер используется? Вроде бы QSQLITE не умеет возвращать размер выборки драйвер QMYSQL |
|
|
LE0N |
23.4.2009, 11:12
Сообщение
#16
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата QSql::In Это ЧТО ? Постарайтесь внимательно писать свой код и отлаживать его сами. Если не знаете английского: translate.google.com |
|
|
Текстовая версия | Сейчас: 22.12.2024, 12:22 |