lostyazilim
tr.link

c# Formlar Arası Veri Aktarma

11 Mesajlar 2.291 Okunma
lstbozum
tr.link

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
Merhaba Arkadaşalar,
c#ta formlar arasında list verilerini taşımak istiyorum fakat formu kapattığımda(ana form değil) tekrar açıyorum ve veriler gitmiş oluyor. (oop ile yaptım)

Bu sorunu nasıl çözebilirim?
 

 

wmaraci
reklam

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Tekrar açma işlemini nasıl yapıyorsunuz? Yeniden oluşturup açıyorsanız formu sıfırlamış olursunuz.

Bahsettiğim kullanım;

Form ornekform = new Form();
ornekform.ShowDialog();

yukarıdaki şekilde formu sıfırlarsınız. Bunun yerine formlarınızı classlarında bir birine tanıtırsanız istediğinizi elde edersiniz.
 

 

sefacandemir.com.tr

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)

SefaCanDemir adlı üyeden alıntı

Tekrar açma işlemini nasıl yapıyorsunuz? Yeniden oluşturup açıyorsanız formu sıfırlamış olursunuz.

Bahsettiğim kullanım;

Form ornekform = new Form();
ornekform.ShowDialog();

yukarıdaki şekilde formu sıfırlarsınız. Bunun yerine formlarınızı classlarında bir birine tanıtırsanız istediğinizi elde edersiniz.


Hocam şu örnekte deneyebilir misiniz? yapamadım.
Yönetici girişi yapın. kullanıcı adı:emre ,şifre:1234.
listeleme yaptıktan sonra yönetici panelini kapatıp açtığımızda gidiyor. Ben mesela buradaki kullanıcıları müşteri işlemlerine geldiğimde giriş yaptıracağım eklediğim müşteriye göre.
https://www.dropbox.com/s/7mek0pfh8gw29oe/son.rar?dl=0
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Anladığım kadarıyla oluşturulan müşteri verisinin kalıcı olmasını istiyorsunuz. Sizin yukarıda bahsettiğiniz işlemde subFormu halletsekte Ana Form kapanınca tüm veriler silinir. Bunun için bir veritabanı kullanmanızı öneririm. Veritabanınız da müşteriler adında tablo oluşturup, oluşturulan müşterinin bilgilerini oraya insert etmelisiniz. Daha sonra müşteri girişi için müşteriler tablonuzda eşleştirme yapan bir sorgu yazmanız yeterli. Bu şekilde bir veri kaybı yaşamazsınız.
emreorhan

kişi bu mesajı beğendi.

sefacandemir.com.tr
wmaraci
wmaraci

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)

SefaCanDemir adlı üyeden alıntı

Anladığım kadarıyla oluşturulan müşteri verisinin kalıcı olmasını istiyorsunuz. Sizin yukarıda bahsettiğiniz işlemde subFormu halletsekte Ana Form kapanınca tüm veriler silinir. Bunun için bir veritabanı kullanmanızı öneririm. Veritabanınız da müşteriler adında tablo oluşturup, oluşturulan müşterinin bilgilerini oraya insert etmelisiniz. Daha sonra müşteri girişi için müşteriler tablonuzda eşleştirme yapan bir sorgu yazmanız yeterli. Bu şekilde bir veri kaybı yaşamazsınız.


Hocam veritabanı kullanmamıza izin vermiyorlar. :(
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
O halde anaformda bir datagridview oluşturup yönetici formunda oluşturulan müşterileri o datagridview e insertleyin. Daha sonra girişi datagridview deki veriler ile kontrol ettirin.
 

 

sefacandemir.com.tr

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
hocam onu kullanmayı bilmiyorum. Yapabilirseniz çok sevinirim.
 

 

SametUCA SametUCA WM Aracı Kullanıcı
  • Üyelik 10.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad S** U**
  • Mesajlar 8
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Yanlız arkadaşın dediği gibi olursa uygulamayı redebug ettiğinizde tüm bilgiler kaybolacaktır. Dolayısıyla sizin uygulamada bir belgeye yada veritabanına kayıt gerekmekte. Eğer uygulama kapanana kadar benim işim görülsün diyorsanız gizli bir formda oluşturulabilecek bir datagriede tüm bilgileri ekler daha sonra oradan okuma yaparsınız yarın erkenden bir bakarım projenize.
 

 

Weismann21 Weismann21 WM Aracı Kullanıcı
  • Üyelik 29.11.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Cross Platform Developer
  • Konum İstanbul Anadolu
  • Ad Soyad E** B**
  • Mesajlar 168
  • Beğeniler 12 / 47
  • Ticaret 0, (%0)
daha basiti XML'de tut verileri


Engin


yapınız neyse buna göre tutabilirsiniz
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
oop ne alaka :)

---

ThreadLocal nesnesini kullanarakta yapabilirsiniz ama aşağıdaki CallContext kullanımı çok temizmiş..

---
CallContext adında mübarek bir sınıf varmış :) Kullanımı oldukça basit.. Örnek kod aşağıdaki linkte mevcut.

https://www.wintellect.com/logical-call-context-flowing-data-across-threads-appdomains-and-processes
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al