Arkadaşlar ağaşıdaki kodun neresinde eksiklik var. Akydı veritabanına aktarmanın dışında diğer tüm kodlar işliyor ama bir türlü kaydı veritabanına aktaramadım.
--------------------------------------------------------------------------------
procedure TASBA_KAYIT.EkleClick(Sender: TObject);
var
Ekle:Integer;
begin
Table1.FilterOptions:=[foCaseInsensitive];//harf duyarlılığı yok
Table1.Filter:='ASBA_AD='+QuotedStr(Adi.Text);//kriter
Table1.Filtered:=true;
if Adi.Text='' then
begin
Ekle:=Application.MessageBox('ADI-SOYADI alanını boş bıraktınız !','Zorunlu Alan',
MB_Ok);
Adi.SetFocus;
end
else
begin
if Unvan.Text='' then
begin
Ekle:=Application.MessageBox('ÜNVANI alanını boş bıraktınız !','Zorunlu Alan',
MB_Ok);
Unvan.SetFocus;
end
else
begin
if Adi.Text=Table1ASBA_AD.Text then
begin
Ekle:=Application.MessageBox('Aynı Kayıt Var. Başka Kayıt Eklemek İster misiniz?','Aynı Kayıt',
MB_YesNo);
begin
if Ekle=mrYes Then
begin
Adi.SetFocus;
end
else
begin
Table1.Insert; //kayıt aç
Table1ASBA_AD.Text:=Adi.Text;
Table1ASBA_UNVAN.Text:=Unvan.Text;
Table1.Post; //kaydet
end;
end;
end;
end;
end;
end;
Kaydı neden aktarmıyor acaba. Kodda ne eksik ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- OnderTastan
- Üye
- Mesajlar: 38
- Kayıt: 01 Tem 2007 05:09
- Konum: İzmir
Kaydı neden aktarmıyor acaba. Kodda ne eksik ?
"Kendini Affeder Gibi Başkalarını Affet, Başkalarını Azarlar Gibi Kendini Azarla..."
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Onder, koda bakip hatanin nerde oldugunu soylemek istedim bir an ama inan kod oyle ic ice girmis , oyle gereksiz if then else ler kullanilmis ki gecenin bu saatinde hangi if blogu hangisine ait cikartmadim.
problemine hizli cevap almak istiyorsan soruyu daha duzgun okunakli yazman senin icin yararli olacaktir.
su asamada sana diyebilecegim tek sey if Adi.Text='' then satirina break point koyup kodun icerisinde adim adim ilerlemen ve hangi kodlarin calistigini tespit etmen.
iyi geceler...
problemine hizli cevap almak istiyorsan soruyu daha duzgun okunakli yazman senin icin yararli olacaktir.
su asamada sana diyebilecegim tek sey if Adi.Text='' then satirina break point koyup kodun icerisinde adim adim ilerlemen ve hangi kodlarin calistigini tespit etmen.
iyi geceler...
- OnderTastan
- Üye
- Mesajlar: 38
- Kayıt: 01 Tem 2007 05:09
- Konum: İzmir
Re: Kaydı neden aktarmıyor acaba. Kodda ne eksik ?
üstad hakkın var. ama belki yardımcı olur diye koydum, kodlarda buraya kadar sorun yok. ayırarak anlatmaya çalıştım. ama kaydı aktarma kısmına gelince aktarmıyor. kesinlikle if ve elseleri bi yerde yanlış kullanıyorum ama nerde?OnderTastan yazdı:Arkadaşlar ağaşıdaki kodun neresinde eksiklik var. Akydı veritabanına aktarmanın dışında diğer tüm kodlar işliyor ama bir türlü kaydı veritabanına aktaramadım.
--------------------------------------------------------------------------------
procedure TASBA_KAYIT.EkleClick(Sender: TObject);
var
Ekle:Integer;
begin
Table1.FilterOptions:=[foCaseInsensitive];//harf duyarlılığı yok
Table1.Filter:='ASBA_AD='+QuotedStr(Adi.Text);//kriter
Table1.Filtered:=true;
>>>GİRİLEN BİLGİYİ VERİ TABANINDA ARA<<<
if Adi.Text='' then
begin
Ekle:=Application.MessageBox('ADI-SOYADI alanını boş bıraktınız !','Zorunlu Alan',
MB_Ok);
Adi.SetFocus;
>>>EĞER ADI-SOYADI BOŞ BIRAKILMIŞSA UYARI VER<<<
end
else
begin
if Unvan.Text='' then
begin
Ekle:=Application.MessageBox('ÜNVANI alanını boş bıraktınız !','Zorunlu Alan',
MB_Ok);
Unvan.SetFocus;
>>>EĞER ÜNVANI BOŞ BIRAKILMIŞSA UYARI VER<<<
end
else
begin
if Adi.Text=Table1ASBA_AD.Text then
begin
Ekle:=Application.MessageBox('Aynı Kayıt Var. Başka Kayıt Eklemek İster misiniz?','Aynı Kayıt',
MB_YesNo);
begin
if Ekle=mrYes Then
begin
Adi.SetFocus;
>>>EĞER ADI-SOYADI ALANI BİLGİSİ VARSA "AYNI KAYIT" UYARISI VER<<<
>>> BUNLARIN HİÇBİRİ DEĞİLSE VERİYİ, VERİTABANINA KAYDET<<<
end;
end;
end;
end;
end;
end;
"Kendini Affeder Gibi Başkalarını Affet, Başkalarını Azarlar Gibi Kendini Azarla..."
s.a.
Öncelikle aramıza hoş geldin.
kodlari çin
soruna gelince kayıt işlemini yapmaması normal çünkü kayıt etmesi için bir işlem yapmamışsın. kaydetmek için hangi bileşeni kullanıyorsun(veya kullanmayı düşünüyorsun). (eğer table1 ise ise başktan söyleyim hem filitreleyip hemde insert yapamzsın(en azından o şekilde)
birde önce arama yapmak yerine alanların boş olup olmadıklarını kontrol ettir
eğer alanlar boş ise arama yapmanın bir anlamı yok.
endleri ensonda kapatmak yerine işi bitince kapat.
kolay gelsin.
Öncelikle aramıza hoş geldin.
kodlari çin
tagını kullnırsanı iyi olur.<code>
kodlar buraya
</code>
büyük küçük yerine [ ] olacak.
soruna gelince kayıt işlemini yapmaması normal çünkü kayıt etmesi için bir işlem yapmamışsın. kaydetmek için hangi bileşeni kullanıyorsun(veya kullanmayı düşünüyorsun). (eğer table1 ise ise başktan söyleyim hem filitreleyip hemde insert yapamzsın(en azından o şekilde)
birde önce arama yapmak yerine alanların boş olup olmadıklarını kontrol ettir
eğer alanlar boş ise arama yapmanın bir anlamı yok.
endleri ensonda kapatmak yerine işi bitince kapat.
Kod: Tümünü seç
if Adi.Text='' then
begin
Ekle:=Application.MessageBox('ADI-SOYADI alanını boş bıraktınız !','Zorunlu Alan',
MB_Ok);
Adi.SetFocus;
exit;//bu satır ile prosedürden direk çıkarsın.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim