Kod: Tümünü seç
FUNCTION TFDATA_M.ARA_QUERYSIZ(Aranacak_Alan, Aranacak_Table, Aranan:String ): BOOLEAN;
VAR
Durum:boolean;
Aranacak_Query: TFDQuery;
begin
Aranacak_Query:=TFDQuery.Create(Self);
Durum:=true;
Aranacak_Query.Connection:=FDConnection1;
if Aranan<>'' then begin
Aranacak_Query.SQL.Clear;
Aranacak_Query.SQL.Add('Select '+Aranacak_Alan+' FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+QuotedStr(Aranan));
Aranacak_Query.OPEN;
Aranacak_Query.FieldDefs.Update;
if Aranacak_Query.FieldByName(Aranacak_Alan).Value=Aranan then Durum:=True else Durum:=False;
Aranacak_Query.CLOSE;
Result:=Durum ;
end else Result:=Durum;
Aranacak_Query.Free;
end;
QUERY1 : ADI, SOYADI
QUERY2 : YAŞI, MESLEĞİ , MAAŞI, ADRESİ
Procedur KAYIT_EKLE ( EKLENECEK_ALAN_1, EKLENECEK_ALAN_2 , HANGI_TABLE ) ;
Bu prosedürü Query 1 için kullanabilirim fakat Query2 için kullanamam. Çünkü query 2 de 4 adet alan var ama prosedürümde değer alabilecek iki alan var. Buna çözüm olarak ilk aklıma gelen prosedürde 15 adet değişken tanımlayıp kullanmadıklarıma boş değer atamak.
PROCEDUR ( EKLENECEK_ALAN_1, EKLENECEK_ALAN_2 ,EKLENECEK_ALAN_3, EKLENECEK_ALAN_4, EKLENECEK_ALAN_5, EKLENECEK_ALAN_6 )
Fakat bunun doğru çözüm olduğunu düşünmüyorum. Farklı bir yolu var mı ? Nasıl yaparım. Stored prosedür kullan diyeceksiniz. Fakat projemde bunu kullanmak için çok geç kaldım. Projeye başlarken stored prosedürleri bilmediğim için şuan onlara dönmemde çok zor o yüzden bu yola seçtim.