İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C#, SQL Serverdan Timer ile güncel kayıt çekme sorunu

magnet23.04.20113 cevap3.907 görüntüleme
2005'den beri499 mesaj
#1
Başlık tam oldumu bilemiyorum.
Basit bir mesajlaşma sistemi düşünün. Gelen giden mesajlar veri tabanında duruyor. bunları richtextbox ta listeliyorum. Tİmer ile anlık veri çekiyorum fakat timer olduğu için pırpırlanma oluyor. Bunun önüne nasıl geçebilirim. 1 saniyede bir veri tabanından verileri getirecek. Yardımcı olursanız çok sevinirim 6-7 ay öncede farklı bi projede aynı sıkıntı ile karşılaştım fakat çözemedim. Thread lere hakim değilim. Örnekle açıklayabilirseniz çok iyi olur.

Sorun tam olarak anlatamadıysam Swf şeklinde kısa video ekliyorum.

http://tahaipek.com/prj/sorun.swf

Cevaplar
2007'den beri613 mesaj
#2
timer'daki olayı backgroundWorker ile çalıştırabilirsin. Veya timer ile yapmak yerine delegate ile yapabilirsin. delegate bilgisayarda daha az kasma yapar. daha az ram harcar. daha mantıklıdır.

Edit: videoyu izledim. Timer kesinlikle olmaz. delegate ile yapmalısın, üstteki de listbox olmalı, bir kişi mesaj yazdığı an, yazılan metni listbox un item'ına eklemeli
magnet Konuyu açan
2005'den beri499 mesaj
#3
Background worker la denedim biraz önce. timera bağlayamadım. while döngüsüyle sonsuz döngüde işlettim. doğal olarak aşırı seri oldu. bukadar seri de bile böyle pırpıra devam ediyosa yavaşlas kimbilir nasıl olacak.

Delegate ler hakkında bilgim yok. sadece duydum. Örnekle açıklama şansın varmı?
magnet Konuyu açan
2005'den beri499 mesaj
#4
basit bir sql sorgusuyla hallettim. timer'a devam =)

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.