Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
3253
Tıklama
0
Öne Çıkarma
C# - SQL'den dönen veriye göre textboxları doldurma
S
12 yıl (109 mesaj)
Çavuş
Konu Sahibi

Merhabalar,
SQL'den gelen verileri farklı textbox'lara doldurmak istiyorum fakat sqlden bazı durumlarda birden fazla satırın dönme ihtimali var.
Daha açık anlatmak gerekirse bir fatura düşünün, faturadaki KDV yüzdesini, Matrahı ve KDV tutarını farklı textboxlara yazdırmalıyım. SQL'den tek satır döndüğünde sorun yok fakat aynı faturada %1 ve %8'li ürünler olduğu zaman çift satır dönüyor. Çift satır döndüğü durumlarda izleyeceğim yolu bulamadım. while döngüsüyle denedim sonuca ulaşamadım. Yardımlarını bekliyorum.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



C
12 yıl (498 mesaj)
Yüzbaşı

Runtime da textbox oluşturabilirsin. Yada daha saçma ama basit yöntem olarak her textbox ı oraya koyarsın visiblenı false yaparsın veri çektikten sonra atama yaparsın nullorWhiteSpace gibi bir propertysi vardı diye hatırlıyorum textboxların onu kullanarak gösterir ya da göstermessin.


Bu mesaja 1 cevap geldi.
S
12 yıl (109 mesaj)
Çavuş
Konu Sahibi

Hocam burdaki olay textboxları gizlemek ya da göstermek değil. Ortada bir fatura var ve bu fatura içindeki ürünlerin KDV oranlarını ve tutarlarını textboxlarda göstermek istiyorum. Mesela bir fatura içerisinde hem %1lik ürün var hem de %8 lik ürün var. yüzdeleri grid ya da listview kullanmadan textboxlara basmam gerekiyor. eğer sadece bir tane kdv oranı varsa ikinci kdvyi gösteren textbox boş olacak.


Bu mesaja 2 cevap geldi.
S
12 yıl (44 mesaj)
Çavuş

şöyle yapabilirsin gelen verinin kaç satır olduğunu biliyorsan textboxları kod ile windows form'a eklemelisin. location'larını size'larını kodla vermelisin.


Bu mesaja 1 cevap geldi.
S
12 yıl (109 mesaj)
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: semihtarik

şöyle yapabilirsin gelen verinin kaç satır olduğunu biliyorsan textboxları kod ile windows form'a eklemelisin. location'larını size'larını kodla vermelisin.


gelen verinin kaç satır olduğunu tek satır kodla yakalayabilirim ama textboxların location ve size'larını kodla vermeyle ne ilgisi var? soruyu yanlış anladın galiba.



H
12 yıl (62 mesaj)
Çavuş

Mahsuru yoksa SQL sorgusu ve ekran görüntüsü paylaşır mısınız?
@Saleeh




Bu mesajda bahsedilenler: @Saleeh
C
12 yıl (498 mesaj)
Yüzbaşı

Anladığım kadarı ile sql sonunu gelen veriyi textboxlara yazdırmak istiyorsun. kdv1 kdv2 gibi degerlerin var ve cümleden sadece tek fatura döneceğine eminsin.
Boş değerlerde hata almanın sebebi tahminimce DataReader ın GetString methodunu kullanman.
Yani soru şu Sql den gelen gelen verileri textbox a nasıl yazdırırım. Cevabı ise basit

con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if(dr.HasRows)
{
txtKdv1.Text= dr["KDV1"].ToString();
txtKdv2.Text = dr["KDV2"].ToString();
}
con.Close();

direk burada yazdım ufak syntax hataları olabilir.

Edit : Çift satır dönme ihtimali var demişsin tek fatura için çift satır döndürüyorsan ya sql cümlende hata var ya da database tasarımında hata var.

Sql cümleni ve uygulamanın ss sini koyabiliren daha iyi yardımcı olabilirim birde çift satır dediğin durumlarda aldığın hatayı yazarsan çok daha iyi olur.





< Bu mesaj bu kişi tarafından değiştirildi converttoint32 -- 9 Kasım 2013; 12:44:21 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Saleeh
S
12 yıl (109 mesaj)
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: converttoint32

Anladığım kadarı ile sql sonunu gelen veriyi textboxlara yazdırmak istiyorsun. kdv1 kdv2 gibi degerlerin var ve cümleden sadece tek fatura döneceğine eminsin.
Boş değerlerde hata almanın sebebi tahminimce DataReader ın GetString methodunu kullanman.
Yani soru şu Sql den gelen gelen verileri textbox a nasıl yazdırırım. Cevabı ise basit

con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if(dr.HasRows)
{
txtKdv1.Text= dr["KDV1"].ToString();
txtKdv2.Text = dr["KDV2"].ToString();
}
con.Close();

direk burada yazdım ufak syntax hataları olabilir.

Edit : Çift satır dönme ihtimali var demişsin tek fatura için çift satır döndürüyorsan ya sql cümlende hata var ya da database tasarımında hata var.

Sql cümleni ve uygulamanın ss sini koyabiliren daha iyi yardımcı olabilirim birde çift satır dediğin durumlarda aldığın hatayı yazarsan çok daha iyi olur.

Sorgudan fatura çağırıldığında tek satır dönüyor buna eminiz, fakat bir faturanın içerisinde sadece 1 kalem ürün de olabilir 30 kalem ürün de. Bu ürünlerden de içerisinde %0, %1, %8 ve %18 gibi KDV'leri olan ürünler olabilir. Buradaki amaç, faturadaki farklı KDV'leri gruplayan bir sorgudan gelen değerleri textbox a yazdırmak. Yani sizin örnekte kullandığınız KDV1 ve KDV2 ifadeleri aynı satır içerisinde farklı kolonlardaki KDV bilgilerini getirmiş oluyor.

Edit: Problemi büyük oranda çözdüm. Çözüm yolunu buradan paylaşacağım.





< Bu mesaj bu kişi tarafından değiştirildi Saleeh -- 9 Kasım 2013; 13:11:15 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.