Stored Procedure, Query.open parametre hatası

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Stored Procedure, Query.open parametre hatası

Mesaj gönderen Salih »

Merhaba,

Yazdığım bir SP, Delphi'den çağırırken parametre hatası veriyor, içinden çıkamadım dostlar, nerde hata yapıyorum ?
SP şu şekilde :

Kod: Tümünü seç

CREATE PROCEDURE SP_TEMPSIP2 (SIPNO INTEGER)
RETURNS (HESAPKISA VARCHAR(14),EBADX SMALLINT,EBADY SMALLINT,ADET SMALLINT,ALAN NUMERIC(12,3),UNITEKODU CHAR(1),UNITEADI VARCHAR(15))
AS
BEGIN
.....
  FOR
    SELECT TMPSIP.HESAPKISA, TMPSIP.EBADX, TMPSIP.EBADY, TMPSIP.ADET, TMPSIP.ALAN, TMPSIP.UNITEKODU, TMPSIP.UNITEADI
    FROM TMPSIP
    ORDER BY TMPSIP.HESAPKISA, TMPSIP.EBADX DESC, TMPSIP.EBADY DESC  INTO :HESAPKISA, :EBADX, :EBADY, :ADET, :ALAN, :UNITEKODU, :UNITEADI
  DO
  BEGIN
    SUSPEND;
  END
END
Delphi'deki kısım :

Kod: Tümünü seç

 with MDOQuery2 do
  begin
    Close;
    ParamByName ('SIPNO').AsInteger := StrToInt(desipno.Text);
    Open;
  end;
MDQuery2.SQL şöyle :

Kod: Tümünü seç

select * from SP_TEMPSIP2 ( :HESAPKISA,  :EBADX,  :EBADY,  :ADET, :ALAN, :UNITEKODU, :UNITEADI, :SIPNO)
Open cümlesinde şu hatayı veriyor :

Kod: Tümünü seç

Hata: Dynamic SQL Error: parameter mismatch for procedure SP_TEMPSIP2
parametrelere defalarca baktım, isimleri aynı, tipleri aynı, sizce sorun nedir ? Dün gece saatlerce uğraştım, halledemedim. Bir çare dostlar...
Sevgi, Saygı.....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
delphiden sadece input parametresini gönderemen lazım.
output parametreleri alan olarak alıyor.
onları görmek için querynin fields editöründen add fields demen lazım.
yani yazdığın sp yi bir tablo gibi kullanacaksın.

Kod: Tümünü seç

select * from SP_TEMPSIP2 (:SIPNO) 
olacak. Parametretye değer atıp queryi open edeceksin.

Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

Hocam çok teşekkür ederim, halloldu sayende....
Sevgi, Saygı.....
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Gerçi hallettim demişsiniz ama, birşeyler eklemek istiyorum:
SP de input olarak giren değer bir parametre olması gerekmiyor mu ?
yani SP içinde ki select cümlesinin herhangi bir where kısmı yok .
Neye göre kayıt çekeceksiniz anlamadım...
Eğer bütün kayıtları çekecekseniz neden parametre (SIPNO) kullanmıyorsunuz ? :roll:
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

oguzozturk74 yazdı:Gerçi hallettim demişsiniz ama, birşeyler eklemek istiyorum:
SP de input olarak giren değer bir parametre olması gerekmiyor mu ?
yani SP içinde ki select cümlesinin herhangi bir where kısmı yok .
Neye göre kayıt çekeceksiniz anlamadım... :roll:
Haklısınız hocam, iyi yakalamışsınız :) Ben soru kısa olsun diye SP'yi özetleyip aktarırken WHERE kısmını da kırpmışım, olay bundan ibaret. :duvar:
Sevgi, Saygı.....
Cevapla