DataTable填充对象

时间:2013-11-04 13:27:00

标签: c# list object datatable fill

我在C#编码,但有一个错误我实际上无法解决,也许有人可以帮助我!

对不起我的英语,我不是母语人士!

这是我的代码:

public List<Materiel> GetAllTubas()
{
 DataAccess.Oradb getListTubas = new DataAccess.Oradb();
 getListTubas.GetTubaDatabase(null);

 List<Materiel> ListMateriel = new List<Materiel>(); 

 foreach(DataRow row in dt.Rows)  //the name "dt" does not exist in the current context     {
    var myListTuba = new Materiel();
    myListTuba.Nom = row["nom_tuba"];
    ListMateriel.Add(myListTuba);
 }

 return ListMateriel;
}

在这个方法中,我调用另一个方法GetTubaDatabase;连接到数据库和SQL查询,它返回我的DataTable dt填充我的查询结果。 现在我想通过我的Datatable创建一个List,但是会出现一个错误:当前上下文中不存在名称“dt”(大概从我的mothertongue翻译)

我认为这不是一个巨大的错误,但我无法解决它,也不知道我怎么做。

希望你能帮帮我!

非常感谢!

3 个答案:

答案 0 :(得分:5)

您需要先将返回值分配给变量:

DataTable dt = getListTubas.GetTubaDatabase(null);

然后您可以在以后的代码中使用它。执行方法不会神奇地创建变量。

答案 1 :(得分:1)

我认为您忘记将数据分配给数据表,可能应该更改此行代码

var dt = getListTubas.GetTubaDatabase(null);

这将填充您的数据表

答案 2 :(得分:0)

你也忘了这样做:

 myListTuba.Nom = row["nom_tuba"].ToString();

应该这样做