Страница 1 из 1
Очередь из результата ХП
Добавлено: 19 Март 2006, 10:43
Денис
Привет, Андрей
Как можно заполнить свою очередь из результата выполнения ХП.
ХП возвращает набор данных, вот их то и надо перекинуть в свою очередь.
Re: Очередь из результата ХП
Добавлено: 19 Март 2006, 10:51
Andrew™
Денис писал(а):Привет, Андрей
Как можно заполнить свою очередь из результата выполнения ХП.
ХП возвращает набор данных, вот их то и надо перекинуть в свою очередь.
самое простое это воспользоваться функцией MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc',myQueue)
MAVSHOWERROR
END
Re: Очередь из результата ХП
Добавлено: 19 Март 2006, 10:53
Денис
Andrew Myalin писал(а):
самое простое это воспользоваться функцией MAVLOAD
Код: Выделить всё
IF MAVLOAD('exec myProc',myQueue)
MAVSHOWERROR
END
а если в ХП нужно передать парамерты ? и нужно ли биндить какие нить поля ?
Re: Очередь из результата ХП
Добавлено: 19 Март 2006, 11:05
Andrew™
Денис писал(а):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