Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Refresh  (Okunma sayısı 2036 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı cebeser

  • Delphi 2 Level 1
  • *
  • İleti: 53
  • Rep: +0/-1
Refresh
« : 30 Aralık 2008 16:22:35 »
Sayfamda veritabanına üye kayıt yapmam için gereken label, textbox ve bir de button var. Button textboxtaki verileri veritabanına kaydediyor. ancak düğmeye bir kere bastıktan sonra sayfayı refresh ettiğimde aynı kaydı yeniden ekliyor. ne kadar çok refresh yaparsam o kadar kayıt ekleniyor. buna nasıl engel olabilirim.

Rad studio 2007 deneme sürümü, Sql server 2005 kullanıyorum.

Çevrimdışı zeplin

  • Delphi 4 Level 3
  • ***
  • İleti: 175
  • Rep: +2/-1
Ynt: Refresh
« Yanıtla #1 : 30 Aralık 2008 16:58:49 »
kodunda Bir Sıkıntı Olması Durumu Mevcut Görmeden Bişi Denilemez...

Çevrimdışı cebeser

  • Delphi 2 Level 1
  • *
  • İleti: 53
  • Rep: +0/-1
Ynt: Refresh
« Yanıtla #2 : 30 Aralık 2008 20:40:06 »
kod aynen şöyle:

strCon := 'user id=sa;integrated security=SSPI;data source="cebeser\SQLEXPRESS";persist security info=False;initial catalog=master';
baglan := SqlConnection.Create(strCon);
baglan.Open;
tran  := baglan.BeginTransaction;
sqlCumlesi := 'insert into members (name,surname,nickname,city,date) values ('''+name.text+''','''+surname.text+''','''+nick.text+''','''+city.text+''','''+ System.DateTime.Today.ToShortDateString +''');';
komut := SqlCommand.Create(sqlCumlesi,baglan,tran);
okuyucu := komut.ExecuteReader;
okuyucu.Close;
tran.Commit;
baglan.Close;

name.Text := '';
surname.Text := '';
city.Text := '';
nick.Text := '';

Çevrimdışı zeplin

  • Delphi 4 Level 3
  • ***
  • İleti: 175
  • Rep: +2/-1
Ynt: Refresh
« Yanıtla #3 : 30 Aralık 2008 23:00:56 »
hımm Sanırsam Sayfalı Yinelediginde bu kodu otomatik olarak Cagırdıgın icin kayıt ekliyor burada bi tür denetleme gelistirmen gerek if döngüsüne sokulup eger ... sartı varsa kaydet gibi

bu sart yerine bi butondada olabilir butonun click olayında fonksiyonu cagırırsın...

Çevrimdışı cebeser

  • Delphi 2 Level 1
  • *
  • İleti: 53
  • Rep: +0/-1
Ynt: Refresh
« Yanıtla #4 : 01 Ocak 2009 14:47:23 »
tavsiyeniz üzerine şöyle bir kurgu oluşturdum:

adları 0,1,2,3 olan 4 resim oluşturdum. Bu resimlerde ise sadece metin var.
i:int32 ve codes:string tanımladım.
page_load olayına ise;

Randomize;
i := Random(25);
Image2.ImageUrl := '~/bla bla/small/'+i.ToString+'.PNG';
case i of
0:codes := 'ali';
1:codes := 'veli';
2:codes := 'ilker';
3:codes := 'saffet';

böylece resmi görüp üzerindeki metni textbox (code.text) a yazan kişin kaydı yapılacak.

yani eklememi tansiye ettiğiniz if olayını böylece kurguladım.

sonra da yukardaki işleme önşart olarak:

if code.text = codes.tostring then begin (yukardaki kayıt işlemleri) end else code.focus end;


sorun şu ki, bu kod çalışmadı. çalışmamasının nedenini anlayabilmiş değildim.

umarım sorunumu anlatabildim.

ayrıca birşey soracağım: refresh yapmak istediğimde bana devam edip etmek istediğimi soran bir uyarı mesajı geliyor. yeniden dene seçeneğini tıkladığımda kaydı tekrar giriyor. (sorunun aslı zaten bu) ama iptale basınca böyle olmuyor. uzun lafın kısası sayfanın refresh edilmesini engelleye bilir miyi ya da o uyarının direk "iptal" olmasını sağlayabilir miyim?


Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Refresh
« Yanıtla #5 : 05 Ocak 2009 10:41:49 »
Bunun için bir session ya da cookie tanımlamalısınız ve bu nesnelere değer atayarak, değerlerine göre işlem yapmalısınız
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı dameon

  • Delphi 5 Level 4
  • ****
  • İleti: 236
  • Rep: +5/-1
  • Cinsiyet: Bay
Ynt: Refresh
« Yanıtla #6 : 05 Ocak 2009 19:53:29 »
Global.pas içindeki procedurleri ve @Fatih hocamızın dediği gibi session olaylarını araştırabilirsiniz.Alternatif olarak cookie kullanımı da yardımcı olabilir.