我需要获取数据库中可用的所有动物并将其显示在控制台中。我已经尝试了下面的代码,但我得到了“NullReference Exception”(对象引用未设置为对象的实例。)。让我知道我是否遵循正确的方法。
代码:
static void Main(string[] args)
{
AnimalListDao objDao = new AnimalListDao();
objDao.getPetAnimalList();
AnimalList objAnim = new AnimalList();
foreach(var item in objAnim.animalListObj) // Null Reference Exception occurs here
{
Console.WriteLine(item.Animals);
Console.ReadLine();
}
}
商务课程:
class petAnimals
{
public string Animals { get; set; }
}
class AnimalList
{
private List<petAnimals> _animalListObj;
public List<petAnimals> animalListObj
{
get
{
return _animalListObj;
}
set
{
_animalListObj = value;
}
}
}
class AnimalListDao
{
AnimalList obAni = new AnimalList();
petAnimals objAnimal = null;
public void getPetAnimalList()
{
string commandStr = "select petAnimals from animal";
string conStr = "Data Source=localhost;Initial Catalog=PetTable;UserId=root;Password=;";
List<petAnimals> objList = new List<petAnimals>();
MySqlConnection con = new MySqlConnection(conStr);
MySqlCommand cmd = new MySqlCommand(commandStr,con);
MySqlDataAdapter dap = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds);
foreach (DataRow dss in ds.Tables[0].Rows)
{
objAnimal = new petAnimals();
objAnimal.Animals = dss["petAnimals"].ToString();
objList.Add(objAnimal);
}
obAni.animalListObj = objList;
}
}