Здравствуйте, гость ( Вход | Регистрация )
LE0N | Дата 23.4.2009, 11:12 |
Цитата QSql::In Это ЧТО ? Постарайтесь внимательно писать свой код и отлаживать его сами. Если не знаете английского: translate.google.com |
|
soskol-ist | Дата 22.4.2009, 20:24 |
1. Может стоит инициализировать tau? инициализировал Цитата 2. Не совсем понятен оператор "=+". Может имелось в виду "+="? да описался "+=" Цитата 3. Почему бы не посмотреть сообщение об ошибке?
вот такая ошибка Цитата QSqlError(2036, "QMYSQL3: Unable to bind value", "Using unsupported buffer type: 1073741824 (parameter: 1)") , как с ней бороться ума не приложу. Цитата Кстати, а какой драйвер используется? Вроде бы QSQLITE не умеет возвращать размер выборки драйвер QMYSQL |
|
Kagami | Дата 22.4.2009, 13:54 |
1. Может стоит инициализировать tau? 2. Не совсем понятен оператор "=+". Может имелось в виду "+="? 3. Почему бы не посмотреть сообщение об ошибке?
вместо
Кстати, а какой драйвер используется? Вроде бы QSQLITE не умеет возвращать размер выборки |
|
soskol-ist | Дата 22.4.2009, 11:43 |
еще вопрос, всю голову сломал, вроде все правильно записано, а при запросе возвращает false
|
|
SABROG | Дата 21.4.2009, 16:12 |
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 большинство современных баз данных кэшируют результаты запросов и держат некоторое время в памяти данные к которым недавно обращались. - использование этого кода:
|
|
Litkevich Yuriy | Дата 21.4.2009, 16:03 |
soskol-ist, поьзуйся тэгом code, см. справку tau=+name последовательность операторов перепутал |
|
soskol-ist | Дата 21.4.2009, 15:58 |
спс за помощь, решил так:
|
|
Litkevich Yuriy | Дата 21.4.2009, 14:38 |
непонятно зачем тут присутствует элемент combobox. это просто кусок кода из моего исходника.1) как записать конкретное поле в переменную? //береём нулевой столбец и приводим его к строке strpoint = q.value(0).toString(); 2) как посчитать количество строк в столбце/табице? ты имеешь в виду кол-во строк в выборке? Если да, то смотри QSqlRecord::size()Если да, то смотри QSqlRecord::size() пардон, см. int QSqlQuery::size () const |
|
soskol-ist | Дата 21.4.2009, 14:21 |
SABROG схема, представленая тобой выдает столбец целиком, мне же надо записать значение конкретного поля в переменную. soskol-ist, если тебе не нужно отображать данные в таблице, а только получить значение поля, для неких внутренних действий. То проще воспользоваться QSqlQuery. примерно так:
непонятно зачем тут присутствует элемент combobox. спасибо конечно, но мне нужно взять значение из одного поля столбца, и поизвести вычисления по следующей формуле T+=ti/N; где N-это количество строк в столбце, ti-i-ая строка в столбце. А потом все записать с помощью SQL запроса в базу. по сути вопросов два: 1) как записать конкретное поле в переменную? 2) как посчитать количество строк в столбце/табице? |
|
Litkevich Yuriy | Дата 20.4.2009, 12:40 |
soskol-ist, если тебе не нужно отображать данные в таблице, а только получить значение поля, для неких внутренних действий. То проще воспользоваться QSqlQuery. примерно так:
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 5.5.2024, 5:55 |