powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
23 сообщений из 23, страница 1 из 1
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839697
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839707
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например:

Код: plaintext
1.
2.
3.
4.
if (!query.exec("call autorization ('admin','202CB962AC59075B964B07152D234B70')")) {
        qDebug() << "no";
       
    }



хранимая процедура autorization() возвращает 3 выборки данных
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839728
chagoserg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839758
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seg856хранимая процедура autorization() возвращает 3 выборки данныхОтвет дали. Но с точки зрения архитектуры это не очень красиво, возвращать несколько наборов.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seg856, дружище мне кажется ты не тем занят. Это не тема топика С++ спрашивать что делать с тремя выборками.
Ты должен найти автора этой процедуры и спросить его какого хрена дескыть 3 выборки? Баг это? Или ожидаемое
поведение. Может индекс уникальности был сломан? И в таблицу насовали дублей?
Может была неверная миграция или слияние баз?

Это - более важные вопросы.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839763
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМожет индекс уникальности был сломан? И в таблицу насовали дублей?

Не "три записи", а "три выборки". У MS есть уникальная фича: вернуть из процедуры
несколько рекордсетов (причём даже разных форматов). Дурные последствия тяжёлого детства и
отсутствия транзакций.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839769
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
---MS есть уникальная фича

это не уникальная фича MS.

процедура может иметь:
1. парамeтры output
2. результат операции RETURN
3. результат (ы) операции SELECT

Как вы все вернете? И сделано это было не только в MSSQL
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839771
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LepsikКак вы все вернете? И сделано это было не только в MSSQLя тоже однажды думал, как в жабе работают при отсутствии двух и более out параметров из метода.
Но ведь все работают же)).
Знаете как?
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839800
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmaytonМожет индекс уникальности был сломан? И в таблицу насовали дублей?

Не "три записи", а "три выборки". У MS есть уникальная фича: вернуть из процедуры
несколько рекордсетов (причём даже разных форматов). Дурные последствия тяжёлого детства и
отсутствия транзакций.

Возможно так. Пускай автор подтвердит.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839885
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikэто не уникальная фича MS.

Уникальная, уникальная. Если, конечно, не считать Сибейз, от которого оно форкнулось,
чем-то отличающимся.

Lepsikпроцедура может иметь:
1. парамeтры output
2. результат операции RETURN
3. результат (ы) операции SELECT
1. Может, но это таки возвращаемые параметры, а не наборы данных.
2. Процедура - не может, только функция.
3. А вот это и есть уникальная фича МС, когда результат любого select в процедуре сразу
лезет наружу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39839979
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik---MS есть уникальная фича

это не уникальная фича MS.

процедура может иметь:
1. парамeтры output
2. результат операции RETURN
3. результат (ы) операции SELECT

Как вы все вернете? И сделано это было не только в MSSQL
а зачем ВСЁ возвращать?
output это и есть RETURN
и SELECT может быть RETURN-ом, либо внутри остаться
а может она вообще ERROR NOTICE вернёт
это процедура решает, что ей возвращать
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840817
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpseg856хранимая процедура autorization() возвращает 3 выборки данныхОтвет дали. Но с точки зрения архитектуры это не очень красиво, возвращать несколько наборов.

Что некрасивого?
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840819
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmaytonМожет индекс уникальности был сломан? И в таблицу насовали дублей?

Не "три записи", а "три выборки". У MS есть уникальная фича: вернуть из процедуры
несколько рекордсетов (причём даже разных форматов). Дурные последствия тяжёлого детства и
отсутствия транзакций.


Она вовсе не уникальная, многие СУБД позволяют такое делать.
Оракл, MySQL, Sybase ASE. Уверен, что и другие могут.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840820
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpLepsikКак вы все вернете? И сделано это было не только в MSSQLя тоже однажды думал, как в жабе работают при отсутствии двух и более out параметров из метода.
Но ведь все работают же)).
Знаете как?

Возвращают кортежи.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840830
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЧто некрасивого?в архитектуре конечно нет однозначности. Но.... Немасштабируемо и труднее работать странзакциями. Это как пакетная вставка. Есть пакетная сразу на 1000 записей. Но она использкется только в 1% юз кейсов. Например, массовая вставка. Вот и сабж используется редко так можно сделать задачу и без этого.

MasterZivОна вовсе не уникальная, многие СУБД позволяют такое делать.многие субд имеют наследование, xml в базе. Но опять же это мало используется

MasterZivВозвращают кортежи.нет. Пишут 3 метода вместо одного с out1, out2, ou3. Как правило сами методы более понятные становятся.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840875
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОракл, MySQL

Эту пару можешь вычеркнуть, они не позволяют получить несколько резалтсетов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840947
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpMasterZivЧто некрасивого?в архитектуре конечно нет однозначности. Но.... Немасштабируемо и труднее работать странзакциями.

Например, для отчета нужно несколько рекордсетов. Есть одна ХП которая их возвращает. Далее функция формирования отчета получает 1 шаблон оформления и 1 набор рекордсетов. Удобно.
При формировании данных для отчета можно сделать одним селектом большую простыню данных во временную таблицу, ничего лочить не надо, далее из нее можно сами рекордсеты получить, или надергать временных таблиц поменьше и получить рекордсеты по ним. Тоже удобно.
А если делать несколько вызовов ХП по 1 рекордсету, надо как-то гарантировать, что во временных таблицах для этих рекордсетов данные будут одними и теми же, чтобы они не противоречили себе. Придется вводить какое-то управление этими временными таблицами, либо лочить основные таблицы и формировать несколько раз, в вызывающем коде иметь контейнеры для рекордсетов.
Мне кажется что править и вызывать для получения нескольких рекордсетов одну ХП удобнее чем несколько.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840958
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609,
У тебя весь пример про отчетники. А это вешь в себе. Это монолит.
На него обычные правила построения ИС не действуют.
Я там вообще из ХП возвращал
case.... "<b>" +field + </b>
То есть смесь данных и стилей/представления.
Также и ОРМ в отчетниках не делают и т.д.
Если санкций на MS не будет, делай так))))).
Если решения шире чем одна MS, не делай так.
Имхо
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840985
Acce_Ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpteo609,
У тебя весь пример про отчетники. А это вешь в себе. Это монолит.

Это не очень редкий пример из жизни.
Вычисляем что-то, а вернуть хотим в нормализованном виде, в нескольких связанных рекордсетах, а не мешать все в одну широкую таблицу.
Вызов процедуры несколько раз не подходит, т.к. приходится повторять вычисления несколько раз.
Да, именно в отчетах часто встречается такой вариант.

Просто удивительно - кто сталкивался с таким, с полуслова понимают о чем речь. Кто не сталкивался - начинают нести про неудачную архитектуру и монолит.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840987
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Acce_EkbПросто удивительно - кто сталкивался с таким, с полуслова понимают о чем речь. Кто не сталкивался - начинают нести про неудачную архитектуру и монолит.ну почему. Я люблю и двухзвенку с бизнес логикой (БЛ) в СУБД и трехзвенку с БЛ _вне бд_.
Тогда все твои аргументы идут лесом.
Я не максималист.

Acce_EkbВычисляем что-то, а вернуть хотимвернуть куда?
В хранимке и вычисляй.
Один ко многим прекрасно возвращается по одному кортежу с код повыше уровнем.
Acce_EkbВызов процедуры несколько раз не подходит, т.к. приходится повторять вычисления несколько раз.
А ты не гоняй туда сюда данные для вычислений.
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39840989
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Acce_Ekbвернуть хотим в нормализованном видедля кого нормализация? Опять отчетник?
А с ораклом как мучаются без данного действа священного?
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39841047
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpНемасштабируемо и труднее работать странзакциями. Это как пакетная вставка. Есть пакетная сразу на 1000 записей. Но она использкется только в 1% юз кейсов. Например, массовая вставка. Вот и сабж используется редко так можно сделать задачу и без этого.А транзакции это что - всегда только пакетная вставка в одну сущность?
...
Рейтинг: 0 / 0
Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
    #39841077
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Ну вы же держите ресурс курсор?
Вместого чтобы работать с городами РФ вы выгружаете сразу улицы и районы?
Даже если не нужны. Даже если там ленивая загрузка.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как обрабатывать SQLзапрос на QT C++, если запрос возвращает 2 набора данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]