Обсуждение MAV Direct ODBC
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Денис
Бывалый
Сообщения: 70 Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:
Сообщение
Денис » 19 Март 2006, 10:43
Привет, Андрей
Как можно заполнить свою очередь из результата выполнения ХП.
ХП возвращает набор данных, вот их то и надо перекинуть в свою очередь.
Денис
Andrew™
SQL профи
Сообщения: 651 Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград
Сообщение
Andrew™ » 19 Март 2006, 10:51
Денис писал(а): Привет, Андрей
Как можно заполнить свою очередь из результата выполнения ХП.
ХП возвращает набор данных, вот их то и надо перекинуть в свою очередь.
самое простое это воспользоваться функцией MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc',myQueue)
MAVSHOWERROR
END
Andrew™
Денис
Бывалый
Сообщения: 70 Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:
Сообщение
Денис » 19 Март 2006, 10:53
Andrew Myalin писал(а):
самое простое это воспользоваться функцией MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc',myQueue)
MAVSHOWERROR
END
а если в ХП нужно передать парамерты ? и нужно ли биндить какие нить поля ?
Денис
Andrew™
SQL профи
Сообщения: 651 Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград
Сообщение
Andrew™ » 19 Март 2006, 11:05
Денис писал(а): Andrew Myalin писал(а):
самое простое это воспользоваться функцией MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc',myQueue)
MAVSHOWERROR
END
а если в ХП нужно передать парамерты ? и нужно ли биндить какие нить поля ?
ну ежели параметры простые то можно и явно их прописать в MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc 1 2 3',myQueue)
MAVSHOWERROR
END
ежели сложные и хотим красиво, то надо так
Код: Выделить всё
tmp MAVSelect
sql MAVExecSp
CODE
tmp.Init(,0)
tmp.BindField(File.Field,Queue.Field)
...
if tmp.PrepareRun()
mavshowerror
return
end
sql.PrepareSelect(tmp.GetHSTMT())
sql.bindparametr(Param1)
sql.bindparametr(Param2)
sql.bindparametr(Param3)
if sql.run('myProc')
mavshowerror
return
end
loop while not tmp.Fetch()
add(myQueue)
end
Andrew™