Поскольку вы не инициализировали Templist
, пока вы не инициализируете / не назначите экземпляр, объявленная переменная (Templist
) будет иметь значение null, и вы не сможете добавить что-то в null
, что является ошибкойсообщение говорит.Код должен быть:
List<string> Templist = new List<string>();
Еще одна вещь, которую я хотел бы добавить, - это использование using
для правильной утилизации объектов, а также указание column names
вместо *
.Рассмотрим измененные фрагменты ниже:
private List<string> ReadNews()
{
string SqlText = "SELECT titre FROM nom_table";
List<string> Templist = new List<string>();
using (SqlConnection SqlConnection = new MySqlConnection(TheConnectionString))
{
using (MySqlCommand SqlCommand = new MySqlCommand(SqlText, SqlConnection))
{
using (MySqlDataReader result = SqlCommand.ExecuteReader())
{
while (result.Read())
{
Templist.Add((string)result["titre"]);
}
}
}
}
return Templist;
}