Abrufen des Ausgabeparameterwerts aus der gespeicherten Microsoft SQL Server-Prozedur mithilfe von LaravelPhp

PHP-Programmierer chatten hier
Guest
 Abrufen des Ausgabeparameterwerts aus der gespeicherten Microsoft SQL Server-Prozedur mithilfe von Laravel

Post by Guest »

Ich versuche, über die Store-Prozedur mit Laravel einen Datensatz in die Microsoft SQL Server-Datenbank einzufügen und den Wert aus einem Ausgabeparameter abzurufen. Mein Datensatz wurde eingefügt, aber @RetValue wurde nicht erhalten.
Dafür habe ich es versucht

Code: Select all

DB::select("DECLARE @RetValue INT; SELECT @RetValue as 'return'; EXEC AddDistrict 'somevalue', 1, @RetValue OUTPUT; SELECT @RetValue as 'abc';");
DB::select(DB::Raw("Declare @RetValue int EXEC AddDistrict 'somevalue', '1', @RetValue OUTPUT"),'select @RetValue as abc');
DB::select(DB::statement('CALL AddDistrict("DName"="asdfasdf", "PID"=1,"RetValue"="" )').'@RetValue as RetValue');
DB::select(" EXEC AddDistrict ?, ?", array( 'some_value',1));
DB::select(DB::raw("exec AddDistrict @DName = 'some_value', @PID = 1, @RetValue=''"));
DB::select('CALL AddDistrict(?, ?, ?)',
array(
'DName' => $request->DistrictName,
'PID' => $request->province,
'RetValue' => ''
));
DB::select('exec AddDistrict(?,?)',"some_value',1);
und viele andere, aber ich habe das @ nicht verstanden

Code: Select all

RetValue
. Meistens erhalte ich ein leeres Array wie dieses [].
Meine gespeicherte Prozedur sieht so aus:

Code: Select all

CREATE PROCEDURE [dbo].[AddDistrict]
@DName nvarchar(50),
@PID int,
@RetValue int OUTPUT
AS
BEGIN
SET NOCOUNT ON;

IF NOT EXISTS (SELECT * FROM District WHERE District_Name = @DName)
BEGIN
INSERT INTO [dbo].District ([District_Name], ProvienceID)
VALUES (@DName, @PID)

SET @RetValue = 1;
END
ELSE
BEGIN
SET @RetValue = -1;
END
END
Wenn der Datensatz eingefügt wird, möchte ich 1 erhalten, wenn er nicht eingefügt wurde, möchte ich -1 erhalten, wie in der gespeicherten Prozedur beschrieben .

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post