Kod: Tümünü seç
CREATE PROCEDURE SP_MUSTERI_EKLE
(@KOD VARCHAR(20),
@AD VARCHAR(20),
@TUTAR MONEY)
AS
IF EXISTS(SELECT KOD FROM TBL_MUSTERI WHERE KOD=@KOD)
BEGIN
RAISERROR('Bu Kod Daha Önce Tanımlanmış.',16,1)
RETURN
END
IF @@ERROR <> 0 GOTO ERROR_HANDLER
BEGIN TRANSACTION
IF @KOD <> 0
BEGIN
INSERT INTO TBL_MUSTERI VALUES
(
@KOD,
@AD,
@TUTAR
)
SET @KOD=@@IDENTITY
END
ELSE
BEGIN
UPDATE
TBL_MUSTERI
SET
KOD=@KOD,
AD=@AD,
TUTAR=@TUTAR
END
COMMIT TRANSACTION
RETURN
ERROR_HANDLER:
IF @@TRANCOUNT > 0 ROLLBACK TRAN
delphide kodu çalıştırdığımda "parametre nesnesi hatalı ,eksik veya uyumsuz" diye hata mesajı veriyor.yukardaki QUERY ANALYZER'de
hatasız oluşturup kullandığım sp'ye delphi'de her türlü eklme-çıkarma
yaptığım halde hep bu hata mesajını veriyor .Bir türlü bu sorunu çözemedim.

hatalı yada eksik bir şey var mı?

Kod: Tümünü seç
procedure Tfrmgiris.Button1Click(Sender: TObject);
begin
ADOCommand1.Cancel;
ADOCommand1.CommandText :='CREATE PROCEDURE SP_MUSTERI_EKLE '+
'(@KOD VARCHAR(20),'+
' @AD VARCHAR(20),'+
' @TUTAR MONEY)'+
' AS'+
' DECLARE @ERROR INT '+
' IF EXISTS(SELECT KOD FROM TBL_MUSTERI WHERE KOD=@KOD) '+
' BEGIN '+
' RAISERROR(''Bu Kod Daha Önce Tanımlanmış.'',16,1) '+
' RETURN '+
' END '+
' SET @ERROR = @@ERROR ' +
' IF @@ERROR <> 0 GOTO ERROR_HANDLER '+
' BEGIN TRANSACTION '+
' IF @KOD <> 0 '+
' BEGIN '+
' INSERT INTO TBL_MUSTERI VALUES (@KOD,@AD,@TUTAR) '+
' SET @KOD=@@IDENTITY '+
' END '+
' ELSE '+
' BEGIN '+
' UPDATE TBL_MUSTERI SET KOD=@KOD,AD=@AD,TUTAR=@TUTAR '+
' END '+
' COMMIT TRANSACTION '+
' SELECT @KOD '+
' RETURN '+
' ERROR_HANDLER: '+
' IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION ';
// ' RETURN @ERROR ';
ADOCommand1.Execute;
end;