lostyazilim
tr.link

C# Listbox da Seçilen Ögenin Mail Adresini Texbox a Yazma

12 Mesajlar 1.824 Okunma
acebozum
tr.link

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)
Merhabalar,
Windows form uygulaması ile bir proje yapmaya çalışıyorum. Listbox imda isimler geliyor. Ben bu isimlerden seçtiklerimin mail adreslerinin textbox a yazılmasını istiyorum. Fakat sadece en üstte seçtigim kişinin mail adresini textbox'a yazıyor. Birden fazla mail adresi yazdırmada sorun yaşıyorum. Nasıl bir kod parçası uygulamalıyım. Fikri olan var mı. Teşekkürler.

Listboxda ki isimleri veritabanına yazıyorum. Textbox'a gönderilen mail adreslerini daha sonra mail atmak için kullanacağım. Sadece mail adreslerini tutmak için textboxu kullanıyorum.

Kod Parçam;

public void mailDenetciAdresleriGetir()
{
connection2.Open();

SqlCommand komut = new SqlCommand("SELECT EMAIL FROM PERSONELLER WHERE [AD]+' '+[SOYAD] LIKE '" + listBoxDenetlenecekPersonel.Text + "'", connection2);
SqlDataReader read = komut.ExecuteReader();
while (read.Read())
{

textBox1.Text=(read["EMAIL"].ToString());



}

connection2.Close();
}


Şöyle bir öneride geldi: (Fakat aynı sorun devam ediyor.)


public void mailDenetciAdresleriGetir()
{
connection2.Open();

SqlCommand komut = new SqlCommand("SELECT EMAIL FROM PERSONELLER WHERE [AD]+' '+[SOYAD] LIKE '" + listBoxDenetlenecekPersonel.Text + "'", connection2);
SqlDataReader read = komut.ExecuteReader();
while (read.Read())
{
if(textBox1.Text =="")
{
textBox1.Text =(read["EMAIL"].ToString());
}else{
textBox1.Text += ";" + (read["EMAIL"].ToString());
}




}

connection2.Close();
}


SelectionMode kısmı şuan 'MultiSimple' bunun sebebi birden fazla kişiyi seçip veritabanına yazıyorum. Eğer 'MultiExtended' yapar isem tek tek sorunsuz şekilde mail adreslerini yazıyor. Fakat bu sefer de seçilen isimleri çoklu olarak veri tabanına yazamıyorum.

Farklı bir yaklaşımla sorun çözülecekse onu da kabul ediyorum tabi ki :)
 

 

elektronikssl
webimgo

callozeus callozeus WM Aracı Kullanıcı
  • Üyelik 07.09.2020
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılımcı
  • Konum Eskişehir
  • Ad Soyad S** Y**
  • Mesajlar 16
  • Beğeniler 1 / 3
  • Ticaret 0, (%0)
Kodu paylaşırsanız yardımcı olmak isterim.
 

 

Gelin hep beraber geleceği yazalım!
www.dogrukod.com

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)
callozeus Merhabalar, Kod parçasını eklemeyi unutmuşum. Kodu konu paylaşımımın altına ekledim.
 

 

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)
Belki şu daha yararlı olabilir. Seçilen kişileri başka bir listbox a atıp. Bu atılan 2.listboxdaki tüm kişilerin mail adreslerini textbox a yazarım. Yani listbox1 de 200 kişi var ise ben buradan 5 kişiyi seçip listbox2 ye atarım. Listbox2 de bulunan 5 kişinin mail adreslerini textbox a yazayım. Bunu nasıl yapalirim. Yani listbox2 deki kişilerin mail adreslerini textbox a atama konusunuz. Fikriniz var mı.
 

 

wmaraci
wmaraci

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)
Arkadaşlar sorunum ne yazık ki devam ediyor. Çözemediğim için çok yıprandım. Tek amacım seçtiğim isimlere mail atabilmek. Farklı bir yol ile bu mümkün olacaksa deneyebilirim. Şimdiden teşekkür ederim.
 

 

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
Tek kişiye ait birden fazla mail var mı? Yoksa her kişinin maili bir adet mi?

Bu arada isimlere göre mail gönderme işleminden bahsetmişsiniz, ancak seçtiğiniz isimleri tekrar veritabanına yazdırmak istediğinizden bahsetmişsiniz. Sorunu daha sade ve anlaşılır bir şekilde anlatırsanız yardımcı olmak isterim.
 

 

technovenue.com

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)
ulas
Merhabalar, listbox imda isimler var. (Örneğim 200 kişi.) Buradan bir kaç isim seçim listbox2 ye gönderiyorum. Bu seçim gönderdiğim 5 ismi veritabanina yazıyorum. Fakat 'Kaydet' tuşuna bastigimsa bu kişilere mailde gitsin istiyorum. ( Şöyle bir kayıt oluşturuldu gibi.)
Veritabanına yazma konusunda sorun yok.
Mail adresi çekersen hep 1 tane çekiyor. En üsttekinin. Yani doğru düzgün mail adreslerini çekemedim. Örneğin 3 kişi seçildiyse sadece en üstte seçilenin mail adresini texbox a yazıyor.

Her kişinin 1 tane mail adresi var.
 

 

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
MSS06 Mailleri tek seferde göndermek yerine foreach ile seçtiğiniz 5 isme tek tek mail atabilirsiniz. Performans açısından sorun çıkartacaksa aşağıda bahsettiğim yöntemi deneyin.

Yazdığınız SQL sorgusu ile bahsettiğiniz işlemleri birbirine bağdaştıramadım bu arada.

Veritabanındaki 200 isim arasından 5 ismi diğerlerinden ayırt etmek için, veritabanında ayrı bir sütun açın. Örnek olarak;

İsim | mailAdresi | mailGonderilsin
Ahmet | mailadresi@mail.com | evet
Mehmet | mailadresi@mail.com | hayır


Bu tablodan, mailGonderilsin 'evet' olanların tamamını çekin. Ardından mail adreslerini bir stringe birleştirin. İsteğinizi doğru anladıysam bu çözüm olacaktır inşAllah.
MSS06

kişi bu mesajı beğendi.

technovenue.com

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
Ek bir sütun istemiyorsanız, mail gönderilecek olanları ayrı tabloya yazdırın. Tabloyu işiniz bittiğinde temizleyin.
 

 

technovenue.com

MSS06 MSS06 WM Aracı Kullanıcı
  • Üyelik 09.12.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad M** Ş**
  • Mesajlar 133
  • Beğeniler 20 / 9
  • Ticaret 2, (%100)

ulas adlı üyeden alıntı

MSS06 Mailleri tek seferde göndermek yerine foreach ile seçtiğiniz 5 isme tek tek mail atabilirsiniz. Performans açısından sorun çıkartacaksa aşağıda bahsettiğim yöntemi deneyin.

Yazdığınız SQL sorgusu ile bahsettiğiniz işlemleri birbirine bağdaştıramadım bu arada.

Veritabanındaki 200 isim arasından 5 ismi diğerlerinden ayırt etmek için, veritabanında ayrı bir sütun açın. Örnek olarak;

İsim | mailAdresi | mailGonderilsin
Ahmet | mailadresi@mail.com | evet
Mehmet | mailadresi@mail.com | hayır


Bu tablodan, mailGonderilsin 'evet' olanların tamamını çekin. Ardından mail adreslerini bir stringe birleştirin. İsteğinizi doğru anladıysam bu çözüm olacaktır inşAllah.


Merhabalar, cevabınız için teşekkür ederim. Sizinde belirttiğiniz gibi foreach ile sorunu çözdüm. Vakit ayırıp cevap verdiğiniz için teşekkür ederim.
ulas

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al