Yorumları: 305
Konuları: 49
Kayıt Tarihi: 26-12-2016
Rep Puanı: 545 Acemi
10-10-2018, Saat: 22:10
(Son Düzenleme: 12-10-2018, Saat: 12:26, Düzenleyen: Lord_Ares.)
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;
Yorumları: 283
Konuları: 1
Kayıt Tarihi: 13-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.1
- Delphi XE7
- Delphi 7
Rep Puanı: 964 Acemi
Merhaba,
Aranacak_Alan string ise
+Aranan kısmını +quotedstr(Aranan) değiştir
Yorumları: 616
Konuları: 66
Kayıt Tarihi: 05-10-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.270 Uzman
(10-10-2018, Saat: 22:10)Lord_Ares Adlı Kullanıcıdan Alıntı: 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.”
Yorumları: 113
Konuları: 22
Kayıt Tarihi: 11-10-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.443 Programcı
Yapmak istediğin şöyle bir şey ise belki işini görebilir.
http://www.delphican.com/class-helper-da...lanma.html
Yorumları: 305
Konuları: 49
Kayıt Tarihi: 26-12-2016
Rep Puanı: 545 Acemi
10-10-2018, Saat: 22:26
(Son Düzenleme: 10-10-2018, Saat: 22:34, Düzenleyen: Lord_Ares.)
[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]
[b]masteryoda[/b] ,Üstadım bu şekilde oldu fakat wth mydataset do kısmında SQL.CLEAR kısımlarında hata veriyor.
Yorumları: 616
Konuları: 66
Kayıt Tarihi: 05-10-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.270 Uzman
(10-10-2018, Saat: 22:26)Lord_Ares Adlı Kullanıcıdan Alıntı: [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.”
Yorumları: 305
Konuları: 49
Kayıt Tarihi: 26-12-2016
Rep Puanı: 545 Acemi
10-10-2018, Saat: 22:39
(Son Düzenleme: 10-10-2018, Saat: 22:40, Düzenleyen: Lord_Ares.)
Evet. Firedac bileşenlerinden TFDQUERY , kullanıyorum. table:TFDQuery; denedim olmadı.
Yorumları: 616
Konuları: 66
Kayıt Tarihi: 05-10-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.270 Uzman
(10-10-2018, Saat: 22:39)Lord_Ares Adlı Kullanıcıdan Alıntı: 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.”
Yorumları: 305
Konuları: 49
Kayıt Tarihi: 26-12-2016
Rep Puanı: 545 Acemi
Cix düzeltiyorum olmamış Datamodul sayfasına değişken olarak mydataset:TFDQuery; tanımladım ama fonksiyona çağıramadım.
Yorumları: 616
Konuları: 66
Kayıt Tarihi: 05-10-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.270 Uzman
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.”
|