i have code like this
public class People
{
public string name { get; set; }
}
public class Animal
{
public string age { get; set; }
}
class Test
{
public void DataPeopleList()
{
string sql = "SELECT * FROM People";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
List<People> list = new List<People>();
while (rdr.Read()) {
People p = new People();
p.name = rdr["name"].ToString();
list.Add(p);
}
rdr.Close();
}
public void DataAnimalList()
{
string sql = "SELECT * FROM Animal";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
List<People> list = new List<People>();
while (rdr.Read())
{
People p = new People();
p.name = rdr["age"].ToString();
list.Add(p);
}
rdr.Close();
}
}
i think is not good for me. can i write give class as parameter so when i want load data i just give query and class as parameter..example the code which i want like :
public void LoadData(string query, Type ClassName)
{
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
List<ClassName> list = new List<ClassName>();
while (rdr.Read())
{
ClassName p = new ClassName();
//p.name = rdr["age"].ToString(); i dont have idea in this part
list.Add(p);
}
rdr.Close();
}
so I`m enough to call method like
public void DataAnimalList()
{
string sql = "SELECT * FROM Animal";
LoadData(sql,class Animal);
}
Can you give me an answer or hint.. Thanks in Advance