Название: Не обрабатываются запросы 4.4.1 Отправлено: Krow от Август 24, 2008, 14:33 Для начала приведу несколько кусков кода:
Код: QSqlQuery *query = new QSqlQuery(QSqlDatabase::database("myorg")); здесь проблем не возникает. вызываю окно в котором будут редактироваться поля данной таблицы. Вот так происходит заполнение этого окна: Код: QSqlQuery *queryMyOrg = new QSqlQuery(QSqlDatabase::database("myorg")); Код: QSqlQuery *queryMyOrg = new QSqlQuery(QSqlDatabase::database("myorg")); экспериментальным путем выяснил что БД не воспринимает третий и последующий запросы на изменение этой БД. т.е. первый запрос на создание таблицы и второй запрос на внесение новой записи проходят нормально. а потом больше никакие запросы не проходят. queryMyOrg->lastError.text() ошибок не показывает кто что посоветует? где копать? (кладбище не предлагать!) ЗЫ с другими БД и таблицами в этом приложении работает всё нормально. ошибок при открытии БД не выскакивает. SELECT запросы работаеют нормально. Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 24, 2008, 15:16 я бы предложил использовать QSqlTableModel + QDataWidgetMapper + дюжина строк кода...а эту карикатуру закопать
ЗЫ queryStr = tr(...) - это некий извращённый способ писать запросы в юникоде? ЗЫЗЫ а почему ты не пишешь QString *queryStr = new QString("...") ? QString ведь тоже шарабля... Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Krow от Август 24, 2008, 16:32 я бы предложил использовать QSqlTableModel + QDataWidgetMapper + дюжина строк кода...а эту карикатуру закопать по поводу первой части.. предпочитаю контроллировать вручную базу.. как добавляется и пр.ЗЫ queryStr = tr(...) - это некий извращённый способ писать запросы в юникоде? ЗЫЗЫ а почему ты не пишешь QString *queryStr = new QString("...") ? QString ведь тоже шарабля... по поводу второй привычка.. в этой версии кути не пробовал как кутя работает с юникодом в qstring но в версии 4.2.2 были с ней проблемы в винде. даже при использовании qtextcodec Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 24, 2008, 17:13 Код: QSqlQuery *query = new QSqlQuery(QSqlDatabase::database("myorg")); здесь проблем не возникает. Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Krow от Август 24, 2008, 19:00 нет. пробовал и не в этом куске создавать запись.. не помогает. когда база создана выполняется тока запрос update все равно не помогает
Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 24, 2008, 20:49 эксперимента ради замени
Код: QSqlQuery *query = new QSqlQuery(QSqlDatabase::database("myorg")); Код: { Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Krow от Август 24, 2008, 22:32 завтра ради эксперимента сделаю... тока вопрос... а смысл? не понимаю.. что это даст кроме того что я с указателями не буду работать?
Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Примерный ученик от Август 28, 2008, 22:08 Попробуй использовать QCursor. В нем легче определить поле на котором происходит ошибка...
Похоже, какое то поле не изменяется (некорректно), и в результате не обновляется вся запись >:( Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 28, 2008, 23:46 Попробуй использовать QCursor Цитировать QT 4.3.0 - OS Linux Suse10.2 а ну-ка, найди QCursor: http://doc.trolltech.com/main-snapshot/classes.htmlточнее, найди и скажи как через него выполнить запрос... Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Примерный ученик от Август 29, 2008, 10:00 Извиняюсь, имел ввиду QSqlCursor, но его в QT4.4.1 не наблюдается...
Работаю с QT3.3.8. Да уж, вирсии категорически отличаются... Это не есть хорошо... >:( Для проверки можно использовать Q3SqlCursor - он имеется для совместимости. На трешке это приблизительно так: Код: int Count; И т.д. - перебрать все поля и определить кривое :D Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 29, 2008, 14:12 дело наверняка не в кривизне поля...
ждём что скажет Кроу Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: Примерный ученик от Август 29, 2008, 14:42 Не знаю как в 4.4.1, а в 3.3.8 в
Код: C:\QT\3.3.8\examples\demo Есть демонстрация работы с БД с помощью SQL запросов. Классная штука, я на ней все свои сложные запросы отлаживаю, она прям носом тыкает в ошибочные конструкции. Если под ней запрос проходит, то все ГАРАНТИРОВАННО в порядке :-X Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 29, 2008, 15:13 предпочитаю контроллировать вручную базу.. как добавляется и пр. квотить названия таблиц/полей/значений вручную - себе вредитьНазвание: Re: Не обрабатываются запросы 4.4.1 Отправлено: Krow от Август 30, 2008, 12:34 возможно. видать что проблема именно в создании сей базы. решил забить на неё и реализовать всё через xml. так было проще и удобнее. данных в этой базе вс1 равно не много было бы.
Название: Re: Не обрабатываются запросы 4.4.1 Отправлено: ритт от Август 30, 2008, 16:34 а какая бд использовалась?
и ты всё-таки попробовал тот код? |