所以基本上这是问题所在,我尝试了许多方法来解决它,但没有一个起作用!错误出现在这条线上:Templist.Add((string)result["titre"];。
Templist是错误!
private List<string> ReadNews()
{
string SqlText = "SELECT * FROM nom_table";
List<string> Templist;
MySqlConnection SqlConnection = new
MySqlConnection(TheConnectionString);
MySqlCommand SqlCommand = new
MySqlCommand(SqlText,SqlConnection);
MySqlDataReader result = SqlCommand.ExecuteReader();
while (result.Read())
{
Templist.Add((string)result["titre"]);
}
return Templist;
}
Run Code Online (Sandbox Code Playgroud)
由于尚未初始化Templist,因此在初始化/分配实例之前,已声明的variable(Templist)将为null,并且您无法向其中添加null错误消息所说明的内容。该代码应为:
List<string> Templist = new List<string>();
Run Code Online (Sandbox Code Playgroud)
一个我想在这里添加更多的东西是使用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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |