Veritabanından bazı verileri (özellikler hakkında bilgi) okuyor ve bilgileri Özellik nesnelerine kaydediyorum. Nesneleri Özellik türü listesine koyarım ve listenin içeriğini bir liste kutusunda görüntülerim. Ancak, her bir nesne için farklı veriler almak yerine, aynı verileri birden çok kez alıyorum. Ps. Property nesnesini while döngüsünde başlattım ve sorun devam ediyor. ben sadece test için döngü için bu kodu eklersenizVeritabanından veri okuma ve verileri bir Listeye kaydetme
void fillListBoxWithProperties()
{
List<Property> propList = new List<Property>();
db_connection();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "select * from property ";
cmd.Connection = connect;
MySqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
Property prop = new Property();
prop.PropId = Convert.ToInt32(dr["propertyId"]);
prop.Address = dr["Address"].ToString();
prop.PropType = dr["PropertyType"].ToString();
propList.Add(prop);
}
foreach(Property details in propList)
{
lstBoxProperties.Items.Add(String.Format("{0} {1}", details.PropId, details.Address));
}
}
:
Property prop = new Property();
prop.PropId = Convert.ToInt32(dr["propertyId"]);
prop.Address = dr["Address"].ToString();
prop.PropType = dr["PropertyType"].ToString();
propList.Add(prop);
//added code
foreach (Property o in propList)
{
Console.WriteLine(o.toString());
}
konsolunda sonuç şudur:
Ballyare, Rathmulan, Rathmulan, Letterkenny, Letterkenny, Letterkenny, konvoy, konvoy, konvoy, konvoy, Gweedore, Gweedore, Gweedore, Gweedore, Gweedore, Glenties, Glenties, Glenties, Glenties, Glenties, Glenties,
Özellik sınıfı kodu:
class Property
{
private static int _propId =0;
private static string _address="";
private static string _propType="";
public Property()
{
}
public int PropId
{
get { return _propId; }
set { _propId = value; }
}
public string Address
{
get { return _address; }
set { _address = value; }
}
public string PropType
{
get { return _propType; }
set { _propType = value; }
}
}
PropList'in döngüsel döngüsüne kesme noktası koyun. PropList koleksiyonunda kaç öğe var? – ICTech
Veritabanında 6 kayıt var, bu yüzden 6. –
sadece 'lstboxProperties.DataSource = propList; 'foreach döngüsü yerine – mvikhona