C# Property Kullanımı
-
merhabalar ben bir sınıf oluşturdum ve bunun içerisinde
public string ilgili_kisi { get; set; }
bir başka yerde bu propertylere değer atamak istiyorum ancak db den gelen/gelecek veriler olarak bunu sorgu da nasıl kullanabilirim ?
-
Class class = new Class();
class.ilgili_kisi = "SinusX";
şeklinde atayabilirsin.
-
sınıfın şu olsun
Public Class Foo
{
public string Test {get; set;}
}
nereden erişmek istiyorsan
Foo obj = new Foo(); //ancak bunu global olarak tanımlaman lazım nesnelerine o class içinde her yerde erişmek için
obj.Test = db.GetMemberName("xxx@hotmail.com");
başka bi yerde de
txtName.Text = obj.Test;
diyerek gösterebilirsin
-
Alatta ki şekilde yapıyorum ancak detay da label ı doldurmuyor hata da vermiyor ilk kez kullanacağım sorun nerede çözmedim bir türlü.
public Cari caridetayi(int CARIKODU)
{
Cari veri = null;
SqlConnection conn = VeriBaglanti;
conn.Open();
SqlCommand cmd = new SqlCommand("CariDetay", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@cari_id", CARIKODU);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
veri = new Cari();
veri.ad_unvan = dr["ad_unvan"].ToString();
veri.email = dr["email"].ToString();
veri.fax = dr["fax"].ToString();
veri.ilgili_kisi = dr["ilgili_kisi"].ToString();
veri.vergi_tc_no = dr["vergi_tc_no"].ToString();
}
return veri;
-
çünkü Cari class ından bir nesne türetimi yapmamışsın new ile. bellekte yer açmışsın sadece..
Cari veri = null;
kısmını
Cari veri = new Cari();
diye düzeltirsen çalışması lazım
-
public class kisiler
{
public int ID{get;set;}
public string AdiSoyadi{get;set;}
}
kisiler _yeni=new kisiler();
_yeni.ID= 1;
_yeni.AdiSoyadi="Ali Yilmaz";
Şuanda yeni bir nesne oluşturdun.
Eğer db den gelecek verileri koleksiyon bazlı listeyeceksen. LinqToSql ya da Entity Framework kullanabilirsin. Ama yok ben eski usul bilgi çekicem ama bunları sınıflarda kullanmak istiyorum dersen;
List<kisiler> _yeniList=new List<kisiler>();
foreach(DataRow item in dataSet.Tables[0]){
kisiler _yeni=new kisiler();
_yeni.ID= Convert.ToInt32(row["ID"]);
_yeni.AdiSoyadi=row["AdiSoyadi"].ToString();
_yeniList.Add(_yeni);
}
şeklinde kullanarak çözüme ulaşabilirsin ;)
-
eski usul abi benimki birde liste değil detay sayfası cari detayında kullanıyorum,
çağırırken de şu şekilde çağırıyorum, Cari veri = new Cari();
lbl_alan.Text = veri.adisoyadi; -
olmadı mı hocam anlamadım?
zaten kodunda sıkıntı var sanki. datareaderi bi döngü ile okutman gerek. ayrıca sınıfı da bir list türüne çevirmen iyi olur çünkü birden fazla değer dönüyorsa onları listte tutman lazım..
yapamıyorsan pm den team id ve pass yolla bakayım
-
LuCiFeR bunu yazdı
eski usul abi benimki birde liste değil detay sayfası cari detayında kullanıyorum,
çağırırken de şu şekilde çağırıyorum, Cari veri = new Cari();
lbl_alan.Text = veri.adisoyadi;O zaman veri = null; demene gerek yok. Orada direk Cari veri=new Cari(); olarak belirt.
Eğer yine problem var diyorsa sorun db bağlantı kodunda olabilir. Önce DataTable'e atmayı, sonra da nesneye dayatmayı dene. -
LuCiFeR bunu yazdı
eski usul abi benimki birde liste değil detay sayfası cari detayında kullanıyorum,
çağırırken de şu şekilde çağırıyorum, Cari veri = new Cari();
lbl_alan.Text = veri.adisoyadi;önceki yazdığın fonksiyonda bir sorun göremedim.
çağırıken
Cari veri = caridetayi(carikodu);
lbl_alan.Text = veri.ilgili_kisi;
şeklinde çağırırsan, kullandığın stored procedure çalışıyorsa sonuç dönmesi gerek.
bu arada prosedurun tek sonuc dönderiyor değil mi?
KodlayanAdam tarafından 12/Şub/13 16:39 tarihinde düzenlenmiştir
