Merhabalar
Delphi içerisinden TADOStoredProc componetini kullanarak Sql serverda bir insert işlemi yaptırıyorum.
Bu islem sonrasında oluşan autonumber değerini delphiye geri döndürmek istiyorum fakat başaramadım.
konu hakkında bilgisi olanın yardım etmesini rica ederim.
Teşekkürler
MS SQL'den Parametre dondurmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
MS SQL'den Parametre dondurmek
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: MS SQL'den Parametre dondurmek
s.a.
bunun için insert işlemini yapan bir sp hazırlayacaksın. sp de en son insert edilen değeri (@@identity olması lazım) seçip sp de geriye döndüreceksin.
delphi tarafındanda exec değil open diyeceksin. adosp ile olurmu bilmiyorum ama adocommand ve adoquery ile olur.
kolay gelsin.
bunun için insert işlemini yapan bir sp hazırlayacaksın. sp de en son insert edilen değeri (@@identity olması lazım) seçip sp de geriye döndüreceksin.
delphi tarafındanda exec değil open diyeceksin. adosp ile olurmu bilmiyorum ama adocommand ve adoquery ile olur.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: MS SQL'den Parametre dondurmek
Merhabalar
benim sqlde bildigim geri donus icin gereken tum parametre yontemlerini denedim yapamadım
denedigim yontemler
ALTERPROCEDURE [dbo].[SPI_TEST]
@XF varchar(50),
@XOUT int OUT
AS
begin
INSERTINTO TTEST(XF)Values(@XF)
--Return @@identity
--Set @XOUT =@@identity
end
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOSPI.Close;
ADOSPI.Parameters.ParamByName('@XF').Value := Edit1.Text;
ADOSPI.ExecProc;
Button1.Caption := FloatToStr(ADOSPI['@RETURN_VALUE']);
// ADOSPI.ExecProc;
// Button2.Caption := FloatToStr(ADOSPI['@XOUT']);
end;
basaramadim bunun disinda bildigin bir yontem varsa yardimci olmanı rica ederim.
ozellikle delphi tarafındaki kısım nasıl olacak
benim sqlde bildigim geri donus icin gereken tum parametre yontemlerini denedim yapamadım
denedigim yontemler
ALTERPROCEDURE [dbo].[SPI_TEST]
@XF varchar(50),
@XOUT int OUT
AS
begin
INSERTINTO TTEST(XF)Values(@XF)
--Return @@identity
--Set @XOUT =@@identity
end
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOSPI.Close;
ADOSPI.Parameters.ParamByName('@XF').Value := Edit1.Text;
ADOSPI.ExecProc;
Button1.Caption := FloatToStr(ADOSPI['@RETURN_VALUE']);
// ADOSPI.ExecProc;
// Button2.Caption := FloatToStr(ADOSPI['@XOUT']);
end;
basaramadim bunun disinda bildigin bir yontem varsa yardimci olmanı rica ederim.
ozellikle delphi tarafındaki kısım nasıl olacak
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: MS SQL'den Parametre dondurmek
ben procedureyi şu şekilde yapıyorum
programdada ado queryde prosedürü çağırıyorum. open dediğim zaman sonuç geliyor.
kolay gelsin.
Kod: Tümünü seç
ALTERPROCEDURE [dbo].[SPI_TEST]
@XF varchar(50)
AS
begin
INSERTINTO TTEST(XF)Values(@XF)
select @@identity --bu şekilde geriye tek sütunlu bir dataset dönüyor.
end
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: MS SQL'den Parametre dondurmek
SQL tarafında tanımlanması gereken ornek
Dosya olusturmak icin gereken ornek
CREATE TABLE [dbo].[TTEST] (
[XAUTO] [int] IDENTITY (1, 1) NOT NULL ,
[XF] [varchar] (50) COLLATE Turkish_CI_AS NULL
) ON [PRIMARY]
GO
Gereken Store Procedure Ornegi
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[SPI_TEST]
@XF varchar(50)
AS
begin
INSERT INTO TTEST(XF) Values(@XF)
SELECT scope_identity() AS SONUC
end
DELPHİ tarafında yapılması gereken
procedure TForm1.Button1Click(Sender: TObject);
var
x:Integer;
begin
ADOSPI.Close;
ADOSPI.Parameters.ParamByName('@XF').Value := Edit1.Text;
ADOSPI.OPEN;
x := ADOSPI.FieldByName('SONUC').AsInteger;
button1.caption := floatTostr(x);
end;
Dosya olusturmak icin gereken ornek
CREATE TABLE [dbo].[TTEST] (
[XAUTO] [int] IDENTITY (1, 1) NOT NULL ,
[XF] [varchar] (50) COLLATE Turkish_CI_AS NULL
) ON [PRIMARY]
GO
Gereken Store Procedure Ornegi
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[SPI_TEST]
@XF varchar(50)
AS
begin
INSERT INTO TTEST(XF) Values(@XF)
SELECT scope_identity() AS SONUC
end
DELPHİ tarafında yapılması gereken
procedure TForm1.Button1Click(Sender: TObject);
var
x:Integer;
begin
ADOSPI.Close;
ADOSPI.Parameters.ParamByName('@XF').Value := Edit1.Text;
ADOSPI.OPEN;
x := ADOSPI.FieldByName('SONUC').AsInteger;
button1.caption := floatTostr(x);
end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana