AYNI KAYIT KONTROLÜ
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
AYNI KAYIT KONTROLÜ
Merhaba
data bileşeni olarak firedac kullanmaktayım
data yapısı aşağıdaki gibi olup
id = integer
kullanıcı adı = varchar
kullanıcı adı satırına girilen bilgiyi kontrol edip eğer kayıt var ise kayıt etmek istemiyorum.
post işlemi öncesinde nasıl bir kod kullanma gerekiyor bu konuda yardımlarınızı beklemekteyim. locate metodu olur farklı bir query den sorgulama olur ama lütfen bana data kısmında unique alan kullanımı ile ilgili bahsetmeyin bu fonksiyonu kullanmak istemiyorum, Açıklayıcı bir kod ile bahsederseniz sevinirim. Bu konudan dolayı kafayı yemek üzereyim delphi forumlarında tam anlamı ile açıklayıcı bir kod bulamadım ister kendi beceriksizliğin deyin ister doğru şekilde arama yapmamışsın deyin. Lütfen delphiyi öğrenmeye çalışan arkadaşlar ve bana daha açıklayıcı şekilde kodları belirtip yardım etmenizi bekliyorum.
data bileşeni olarak firedac kullanmaktayım
data yapısı aşağıdaki gibi olup
id = integer
kullanıcı adı = varchar
kullanıcı adı satırına girilen bilgiyi kontrol edip eğer kayıt var ise kayıt etmek istemiyorum.
post işlemi öncesinde nasıl bir kod kullanma gerekiyor bu konuda yardımlarınızı beklemekteyim. locate metodu olur farklı bir query den sorgulama olur ama lütfen bana data kısmında unique alan kullanımı ile ilgili bahsetmeyin bu fonksiyonu kullanmak istemiyorum, Açıklayıcı bir kod ile bahsederseniz sevinirim. Bu konudan dolayı kafayı yemek üzereyim delphi forumlarında tam anlamı ile açıklayıcı bir kod bulamadım ister kendi beceriksizliğin deyin ister doğru şekilde arama yapmamışsın deyin. Lütfen delphiyi öğrenmeye çalışan arkadaşlar ve bana daha açıklayıcı şekilde kodları belirtip yardım etmenizi bekliyorum.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: AYNI KAYIT KONTROLÜ
Şuan girdiğin id den farklı olan ve kullaniciadı şuan girdiğin olan bir kayıt varmı diye before post unda kontrol edebilirsin.
Mücadele güzelleştirir!
Re: AYNI KAYIT KONTROLÜ
kontrol edebilirsin kısmını bende biliyorum ama hangi kodla ????? Lütfen onu bunu yapabilirsinle gelmeyin bana açıklayıcı bir kod yazın
procedure TDm1.QrKullaniciBeforePost(DataSet: TDataSet);
begin
end;
nedir nası bir koda yazma gerek buraya açıklaycsı bir cevap lütfen
procedure TDm1.QrKullaniciBeforePost(DataSet: TDataSet);
begin
end;
nedir nası bir koda yazma gerek buraya açıklaycsı bir cevap lütfen
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: AYNI KAYIT KONTROLÜ
Aslında uslubuna bakılınca cevap vermemek daha doğru geliyor ama neyse kimse sana kod yazmak zorunda değil onu bunu yapabilirsinle gelinmesin istiyorsan eleman arayanlar kısmına bakabilirsin.
Kod: Tümünü seç
var
cumle:string;
begin
cumle:='';
cumle:=cumle+' and id <>'+quotedstr(datasetinId.text);
cumle:=cumle+'and kullaniciadi='+quotedstr(datasetkullaniciadi.text);
dataset2.close;
dataset2.sql.text:='';
dataset2.sql.tet:='select * from tablon where 1=1'+cumle+'';
dataset2.open;
dataset2.fetchall;
if dataset2.recordcount>0 then showmessage('Bu Kayıt Zaten Var');
Mücadele güzelleştirir!
Re: AYNI KAYIT KONTROLÜ
Bu konu üslup ile alakalı değil delphi kullanıcıları sanki öğrenmeye çalışan arkadaşlardan kodları kıskanır gibi karmaşık kodlar yazıyorlar. C# forumlarına bakıyorum açıklayıcı kodlar var ama burda tam anlamıyla şu kod bu işi görür gibi bir açıklama göremiyorum.
Re: AYNI KAYIT KONTROLÜ
Tam olarak verdiğiniz kodu uyarlayıp aşağıdaki gibi yazdım konu benim verdiğim uslup değil bakı yukarıda qurery kullandığımı belirttim ben burda bunaldığım bir konuyu geçmeye uğraştığım için yazıyorum yoksa kimse bana kod yazmak zorunda değil. Burası bir yardım platformu ise gönüllü arkadaşların yardımlarını bekliyorum.
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TDm1.QrKullaniciBeforePost(DataSet: TDataSet);
var
cumle:string;
begin
cumle:='';
cumle:=cumle+' and id <>'+quotedstr(dm1.QrKullanici.text);
cumle:=cumle+'and kullaniciadi='+quotedstr(dm1.QrKullaniciKULLANICIAD.text);
dm1.qrkullanici.close;
dm1.qrkullanici.sql.text:='';
dm1.qrkullanici.sql.text:='select * from kullanici where 1=1'+cumle+'';
dm1.qrkullanici.open;
dm1.qrkullanici.fetchall;
if dm1.qrkullanici.recordcount>0 then showmessage('Bu Kayıt Zaten Var');
end;
end.
fakat if dm1.qrkullanici.recordcount>0 then showmessage('Bu Kayıt Zaten Var'); showmessage altını kırmızı çizgi ile çizip hata veriyor
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TDm1.QrKullaniciBeforePost(DataSet: TDataSet);
var
cumle:string;
begin
cumle:='';
cumle:=cumle+' and id <>'+quotedstr(dm1.QrKullanici.text);
cumle:=cumle+'and kullaniciadi='+quotedstr(dm1.QrKullaniciKULLANICIAD.text);
dm1.qrkullanici.close;
dm1.qrkullanici.sql.text:='';
dm1.qrkullanici.sql.text:='select * from kullanici where 1=1'+cumle+'';
dm1.qrkullanici.open;
dm1.qrkullanici.fetchall;
if dm1.qrkullanici.recordcount>0 then showmessage('Bu Kayıt Zaten Var');
end;
end.
fakat if dm1.qrkullanici.recordcount>0 then showmessage('Bu Kayıt Zaten Var'); showmessage altını kırmızı çizgi ile çizip hata veriyor
En son quake16 tarafından 23 Mar 2016 02:16 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: AYNI KAYIT KONTROLÜ
farklı bir query de bu kontrolu yap başka bir query koy adı query1 olsun
Kod: Tümünü seç
dm1.query1.close;
dm1.query1.sql.text:='';
dm1.query1.sql.text:='select * from kullanici where 1=1'+cumle+'';
dm1.query1.open;
dm1.query1.fetchall;
if query1.recordcount > 0 then
begin
Showmessage ('Bu kayıt var');
end;
Mücadele güzelleştirir!
Re: AYNI KAYIT KONTROLÜ
Aynı sorun yine devam ediyor show message altını kırmızı çiziyor
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: AYNI KAYIT KONTROLÜ
hata kodunu yazsan ne hata veriyor bide bu dm1.query1.fetchall; satırı sil belki yanlış yazmış olabilirim fetchingall de olabilir.
Mücadele güzelleştirir!
Re: AYNI KAYIT KONTROLÜ
greenegitim adlı arkadaşımızın vermiş olduğu destek için teşekkür ederim
-
- Üye
- Mesajlar: 839
- Kayıt: 03 Eki 2007 02:00
- mustafasoy
- Üye
- Mesajlar: 154
- Kayıt: 02 Ağu 2013 05:00
- Konum: istanbul
- İletişim:
Re: AYNI KAYIT KONTROLÜ
Greeneğitim sabrına gerçekten hayran kaldim tebrik ederim
Nasıl ki Soru sorarak öğrendiyseniz , öğrendiklerinizi cevap vererek öğretiniz.