public function sampleMethod()
{
$sql = 'EXECUTE SampleProcedure
@ReturnCode =:ReturnCode,
@Message =:Message';
$command = $this->connection->createCommand($sql);
$command->bindParam(':ReturnCode', $ReturnCode, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 1);
$command->bindParam(':Message', $Message, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 250);
$result = $command->queryAll();
//ReturnCode и Message всегда null
if($ReturnCode == 0)
echo $Message;
return $result;
}
Page 1 of 1
Хранимые Процедуры. Вывод Out-Параметров
#1
Posted 01 February 2013 - 08:58 AM
Делаю сайт, который коннектится к MSSQL-серверу. Прием всех данных реализован через хранимые процедуры. Данные получаю успешно, но вот OUT-параметры никак не могу прочесть. Искал по форуму, но рабочего решения не нашел. Не исключено, что что-то не так пишу. Может кто сталкивался? Ниже пример кода:
#2
Posted 01 February 2013 - 09:01 AM
В PostgreSQL что бы получить данные из хранимой процедуры использовалось "SELECT * FROM SampleProc()" может быть тут можно подобным образом?
#4
Posted 01 February 2013 - 02:06 PM
marinovdf, on 01 February 2013 - 08:58 AM, said:
Делаю сайт, который коннектится к MSSQL-серверу. Прием всех данных реализован через хранимые процедуры. Данные получаю успешно, но вот OUT-параметры никак не могу прочесть. Искал по форуму, но рабочего решения не нашел. Не исключено, что что-то не так пишу. Может кто сталкивался? Ниже пример кода:
все таки покажите код хранимой тоже, как я уже сказал приведенный пхп вполне рабочий, несмотря даже на то, что достачно просто :Message а не @Message=:Message и не $command->queryAll(), а $command->execute();
#5
Posted 01 February 2013 - 04:50 PM
yan, on 01 February 2013 - 02:06 PM, said:
все таки покажите код хранимой тоже, как я уже сказал приведенный пхп вполне рабочий, несмотря даже на то, что достачно просто :Message а не @Message=:Message и не $command->queryAll(), а $command->execute();
yan, приятно Вас снова "слышать". Да, код пхп рабочий, так как я успешно получаю данные. Здесь я использую queryAll(), потому что, процедура подразумевает выборку данных. К сожалению, ее код я не могу предоставить, так как, процедурами занимаюсь не я и у меня нет к ней доступа. Прекрасно понимаю, что телепатов здесь нет
#6
Posted 02 February 2013 - 03:14 AM
marinovdf, on 01 February 2013 - 04:50 PM, said:
yan, приятно Вас снова "слышать". Да, код пхп рабочий, так как я успешно получаю данные. Здесь я использую queryAll(), потому что, процедура подразумевает выборку данных. К сожалению, ее код я не могу предоставить, так как, процедурами занимаюсь не я и у меня нет к ней доступа. Прекрасно понимаю, что телепатов здесь нет 
мне честно говоря даже любопытно - с чего это не работает то, у мне сайт получает и изменяет данные через несколько десятков процедур - все отлично работает, в процедурах тоже все элементарно, вряд ли можно что-то испортить
CREATE PROCEDURE [dbo].[test] @i int out AS BEGIN set @i=111; END
Share this topic:
Page 1 of 1

Help












