Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] Query ismini değişken olarak göndermek
#1
Merhaba, kendime aşağıdaki gibi bir Fonksiyon oluşturdum.  Fakat şu kısmı ne yaptıysam beceremedim. " With FDATA_M.QSTOK_KARTLARI"
kısmınıdaki QSTOK_KARTLARI adındaki table adını , fonksiyona değişken olarak vermek istiyorum. 
Şöyle denedim olmadı   With FDATA_M.Table do begin  Nasıl yapabilirim.

Function BENZER_KAYIT_VARMI( Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
Var
Durum:Boolean;
BEGIN
 Durum:=true;
 if Aranan<>'' then begin
    with FDATA_M.QSTOK_KARTLARI do begin
         SQL.Clear;
         SQL.Add('Select * FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+Aranan);
         Open;
    end;
    if FDATA_M.QSTOK_KARTLARI.FieldByName(Aranacak_Alan).AsString=Aranan then Durum:=True else Durum:=False;
    Result:=Durum;
 end else Result:=Durum;
END;
Cevapla
#2
Merhaba,
Aranacak_Alan string ise
+Aranan kısmını +quotedstr(Aranan) değiştir
Cevapla
#3
(10-10-2018, Saat: 22:10)Lord_Ares Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba, kendime aşağıdaki gibi bir Fonksiyon oluşturdum.  Fakat şu kısmı ne yaptıysam beceremedim. " With FDATA_M.QSTOK_KARTLARI"
kısmınıdaki QSTOK_KARTLARI adındaki table adını , fonksiyona değişken olarak vermek istiyorum. 
Şöyle denedim olmadı   With FDATA_M.Table do begin  Nasıl yapabilirim.

Function BENZER_KAYIT_VARMI( Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
Var
Durum:Boolean;
BEGIN
 Durum:=true;
 if Aranan<>'' then begin
    with FDATA_M.QSTOK_KARTLARI do begin
         SQL.Clear;
         SQL.Add('Select * FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+Aranan);
         Open;
    end;
    if FDATA_M.QSTOK_KARTLARI.FieldByName(Aranacak_Alan).AsString=Aranan then Durum:=True else Durum:=False;
    Result:=Durum;
 end else Result:=Durum;
END;

Function BENZER_KAYIT_VARMI(mydataset:tdataset; Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
Var
Durum:Boolean;
BEGIN
Durum:=true;
if Aranan<>'' then begin
   with mydataset do begin
        SQL.Clear;
        SQL.Add('Select * FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+Aranan);
        Open;
   end;
   if mydataset.FieldByName(Aranacak_Alan).AsString=Aranan then Durum:=True else Durum:=False;
   Result:=Durum;
end else Result:=Durum;
END;
ben bunu anladım

“Do. Or do not. There is no try.”
Cevapla
#4
Yapmak istediğin şöyle bir şey ise belki işini görebilir.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#5
[quote pid='20892' dateline='1539199545']
Function BENZER_KAYIT_VARMI(mydataset:tdataset; Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
Var
Durum:Boolean;
BEGIN
Durum:=true;
if Aranan<>'' then begin
   with mydataset do begin
        SQL.Clear;
        SQL.Add('Select * FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+Aranan);
        Open;
   end;
   if mydataset.FieldByName(Aranacak_Alan).AsString=Aranan then Durum:=True else Durum:=False;
   Result:=Durum;
end else Result:=Durum;
END;
ben bunu anladım
[/quote]

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.[/b] ,Üstadım bu şekilde oldu fakat wth mydataset do kısmında SQL.CLEAR kısımlarında hata veriyor.
Cevapla
#6
(10-10-2018, Saat: 22:26)Lord_Ares Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.[quote pid='20892' dateline='1539199545']



Function BENZER_KAYIT_VARMI(mydataset:tdataset; Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
Var
Durum:Boolean;
BEGIN
Durum:=true;
if Aranan<>'' then begin
   with mydataset do begin
        SQL.Clear;
        SQL.Add('Select * FROM '+Aranacak_Table+' WHERE '+Aranacak_Alan+' = '+Aranan);
        Open;
   end;
   if mydataset.FieldByName(Aranacak_Alan).AsString=Aranan then Durum:=True else Durum:=False;
   Result:=Durum;
end else Result:=Durum;
END;
ben bunu anladım

Üstadım bu şekilde oldu fakat wth mydataset do kısmında SQL.CLEAR kısımlarında hata veriyor.
[/quote]

Argüman olarak geçtiğiniz nesne Tdataset ten farklı olabilirmi Tibquery Tuniquery v.s

“Do. Or do not. There is no try.”
Cevapla
#7
Evet. Firedac bileşenlerinden TFDQUERY , kullanıyorum. table:TFDQuery; denedim olmadı.
Cevapla
#8
(10-10-2018, Saat: 22:39)Lord_Ares Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Evet. Firedac bileşenlerinden TFDQUERY , kullanıyorum. table:TFDQuery; denedim olmadı.

unitin interface bloğundaki uses da nesnenin implemente edildiği unit eklimi uses firedac gibi

Function BENZER_KAYIT_VARMI(mydataset:tdataset; Aranacak_Alan, Aranacak_Table, Aranan:String): BOOLEAN;
interface de belirtiniz mi burayı
aldığınız hata nedir

“Do. Or do not. There is no try.”
Cevapla
#9
Cix düzeltiyorum olmamış Big Grin Datamodul sayfasına değişken olarak mydataset:TFDQuery; tanımladım ama fonksiyona çağıramadım.
Cevapla
#10
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Buttons, DB, IBDatabase, IBCustomDataSet, IBQuery;

type
 TForm1 = class(TForm)
   IBDatabase1: TIBDatabase;
   BitBtn1: TBitBtn;
   IBQuery1: TIBQuery;
 private
   { Private declarations }
 public
   { Public declarations }
   function BenzerKayitVarmi(const pDatabase: TIBDatabase;
                             const pAranacak_Table,
                             pAranacak_Alan,
                             pAranan: String): String;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}



function TForm1.BenzerKayitVarmi(const pDatabase: TIBDatabase;
                                const pAranacak_Table,
                                      pAranacak_Alan,
                                      pAranan: String): String;



var
 Selsql : string;
 MyQuery  :TIBQuery;
begin

 Selsql:= 'SELECT * FROM _MYTABLE WHERE _ARANACAKALAN=:ARANANDEGER ';
 Selsql:=AnsiReplaceStr(Selsql,'_MYTABLE',pAranacak_Table);
 Selsql:=AnsiReplaceStr(Selsql,'_ARANACAKALAN',pAranacak_Alan);

MyQuery := TIBQuery.Create(nil);
try
 MyQuery.Database := pDatabase;
 MyQuery.SQL.Text := SELSQL;
 MyQuery.ParamByName('ARANANDEGER').AsString := pAranan;
 MyQuery.Open;

 Result := MyQuery.FieldByName('FIELDADI').AsString;

finally
 MyQuery.Free;
end;



end;

end.

“Do. Or do not. There is no try.”
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ÇÖZÜLDÜ] Rapor Baskısında 0 değerleri yazılmasın wiseman 2 105 01-10-2019, Saat: 18:04
Son Yorum: wiseman
  [ÇÖZÜLDÜ] fast report dil hatası wiseman 6 235 25-09-2019, Saat: 14:29
Son Yorum: wiseman
  ÇÖZÜLDÜ-timer kullanmadan saat kontrolü mümkünmü? sadikacar60 3 209 10-09-2019, Saat: 22:19
Son Yorum: sadettinpolat
  [ÇÖZÜLDÜ] cxgrid hücre formatı wiseman 2 121 10-09-2019, Saat: 13:53
Son Yorum: wiseman
  değişken sayıyı belirli sayılara dağıtma osiso 6 206 10-09-2019, Saat: 11:28
Son Yorum: osiso



Konuyu Okuyanlar: 1 Ziyaretçi