Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Kayıt Bulundu Uyarısı
#1
Selamun aleykum Dostlarım,
Table : KAYIT_FORMU
Alan : D_TC

Dostlarım, Depremzede Kardeşlerimize Yardım yapabilmek için kıt bilgim ile Delphi de bir kayıt formu oluşturuyorum. bazı sıkıntılarım var yardımcı olursanız çok sevinirim. 

forma bir tane edit1 yerleştirdim. bu edit1 e yazılan TC Kimlik numarasını KAYIT_FORMU tablosunda bulunan D_TC alanında sorgulamak istiyorum . sorgulandığında eğer aynı TC varsa bana " Aynı TC Kimlik Numaralı Vatandaş Kayıtlı Bulunmaktadır. " diye uyarı verecek ve yine KAYIT_FORMU tablosunda bulunan SN alanındaki sıra numarasını Label1 e yazacak. 
eğer yoksa 
" Girdiğiniz TC Bulunamadı Yeni Kayıt Açmak istermisiniz? " diye soracak ve yazdığım TC yi DBEdit1 e aktaracak. 
Bu konuda yardımcı olur musunuz.
Cevapla
#2
Selam
Öncelikle edit1 in onchange eventına aşağıdaki gibi bir kod yazacaksınız.

qrysorgu.sql.clear;
qrysorgu.sql.text := 'select * from tblkayitlar where D_TC='''+edit1.text+''''
qrysorgu.open;

if qrysorgu.recordcount >0 then
showmessage('Kayıt bulundu')
else
showmessage('Girdiğiniz TC Bulunamadı);
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#3
(01-03-2023, Saat: 10:42)shooterman Adlı Kullanıcıdan Alıntı: Selam
Öncelikle edit1 in onchange eventına aşağıdaki gibi bir kod yazacaksınız.

qrysorgu.sql.clear;
qrysorgu.sql.text := 'select * from tblkayitlar where D_TC='''+edit1.text+''''
qrysorgu.open;

if qrysorgu.recordcount >0 then
showmessage('Kayıt bulundu')
else
showmessage('Girdiğiniz TC Bulunamadı);

Hocam bu hatayı veriyor . sebebi nedir acaba


Ek Dosyalar Resimler
   
Cevapla
#4
Merhaba,
Aşağıdaki şekilde deneyebilir misiniz?
Ayrıca kodu Onchange olayına yazarsanız her karakter girişinizde uyarı verecektir.

var
 Soru:integer;
begin
 if AdoQuery1.Active then AdoQuery1.Close;
 AdoQuery1.SQL.Clear;
 AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by ID SN';
 AdoQuery1.ParamByName('pTC').value:=edit1.text;
 AdoQuery1.open;

 if AdoQuery1.FieldByName('TOPLAM').Value >0 then
 Begin
   Showmessage('Aynı TC Kimlik Numaralı Vatandaş Kayıtlı Bulunmaktadır.');
   Label1.Caption:=AdoQuery1.FieldByName('SN').Asstring;
 End
 else
 Begin
   Soru:=Application.MessageBox('Girdiğiniz TC Bulunamadı Yeni Kayıt Açmak istermisiniz?','Dikkat!',MB_YESNO);
   if Soru=MB_OK then
   DBEdit1.Text:=Edit1.Text
   else DBEdit1.Clear;
 End;
end;
Cevapla
#5
(01-03-2023, Saat: 11:21)ozcanm Adlı Kullanıcıdan Alıntı: Merhaba,
Aşağıdaki şekilde deneyebilir misiniz?
Ayrıca kodu Onchange olayına yazarsanız her karakter girişinizde uyarı verecektir.

var
 Soru:integer;
begin
 if AdoQuery1.Active then AdoQuery1.Close;
 AdoQuery1.SQL.Clear;
 AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by ID SN';
 AdoQuery1.ParamByName('pTC').value:=edit1.text;
 AdoQuery1.open;

 if AdoQuery1.FieldByName('TOPLAM').Value >0 then
 Begin
   Showmessage('Aynı TC Kimlik Numaralı Vatandaş Kayıtlı Bulunmaktadır.');
   Label1.Caption:=AdoQuery1.FieldByName('SN').Asstring;
 End
 else
 Begin
   Soru:=Application.MessageBox('Girdiğiniz TC Bulunamadı Yeni Kayıt Açmak istermisiniz?','Dikkat!',MB_YESNO);
   if Soru=MB_OK then
   DBEdit1.Text:=Edit1.Text
   else DBEdit1.Clear;
 End;
end;

Evet Haklısınız hocam, bu yüzden bitbtn ye ekledim. ama bu hatayı veriyor.


Ek Dosyalar Resimler
   
Cevapla
#6
Parameters eksik kalmış  Undecided
Aşağıdaki şekilde tekrar deneyin.


var
Soru:integer;
begin
if AdoQuery1.Active then AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by SN';
AdoQuery1.Parameters.ParamByName('pTC').value:=edit1.text;
AdoQuery1.open;

if AdoQuery1.FieldByName('TOPLAM').Value >0 then
Begin
  Showmessage('Aynı TC Kimlik Numaralı Vatandaş Kayıtlı Bulunmaktadır.');
  Label1.Caption:=AdoQuery1.FieldByName('SN').Asstring;
End
else
Begin
  Soru:=Application.MessageBox('Girdiğiniz TC Bulunamadı Yeni Kayıt Açmak istermisiniz?','Dikkat!',MB_YESNO);
  if Soru=MB_OK then
  DBEdit1.Text:=Edit1.Text
  else DBEdit1.Clear;
End;
end;
Cevapla
#7
(01-03-2023, Saat: 11:42)ozcanm Adlı Kullanıcıdan Alıntı: Parameters eksik kalmış  Undecided
Aşağıdaki şekilde tekrar deneyin.


var
Soru:integer;
begin
if AdoQuery1.Active then AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by ID SN';
AdoQuery1.Parameters.ParamByName('pTC').value:=edit1.text;
AdoQuery1.open;

if AdoQuery1.FieldByName('TOPLAM').Value >0 then
Begin
  Showmessage('Aynı TC Kimlik Numaralı Vatandaş Kayıtlı Bulunmaktadır.');
  Label1.Caption:=AdoQuery1.FieldByName('SN').Asstring;
End
else
Begin
  Soru:=Application.MessageBox('Girdiğiniz TC Bulunamadı Yeni Kayıt Açmak istermisiniz?','Dikkat!',MB_YESNO);
  if Soru=MB_OK then
  DBEdit1.Text:=Edit1.Text
  else DBEdit1.Clear;
End;
end;

hocam bu hatayı verdi şimdi
Cevapla
#8
AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by SN ';

olarak değiştirin
Cevapla
#9
(01-03-2023, Saat: 11:52)ozcanm Adlı Kullanıcıdan Alıntı: AdoQuery1.sql.text := 'select COUNT(D_TC) AS TOPLAM,SN from KAYIT_FORMU where D_TC=:pTC Group by SN ';

olarak değiştirin

d_adı ile ilgili bir kod yok niye bu hatayı şimdi verdi


Ek Dosyalar Resimler
   
Cevapla
#10
AdoQuery1nesnesine çift tıkladığınızda açılan pencereyi kontrol edin.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Datasnap veritabanı kayıt serdar 2 518 30-11-2025, Saat: 10:53
Son Yorum: serdar
  Veri Tabanına Kontrollü Kayıt Yaptırma bünyamin68 20 5.175 08-06-2025, Saat: 09:40
Son Yorum: izmaimen
  fastreport şablonu database e kayıt ercanskose 11 3.095 18-02-2025, Saat: 17:10
Son Yorum: akuyumcu63
  MSSQL Kayıt yöntemi nevzatc 2 889 16-12-2024, Saat: 17:40
Son Yorum: mustafaozpinar
  Belirli sayıda kayıt çekmek cinarbil 2 1.111 17-05-2024, Saat: 08:35
Son Yorum: cinarbil



Konuyu Okuyanlar: 3 Ziyaretçi