【问题标题】:DataTable fill Object数据表填充对象
【发布时间】:2013-11-04 13:26:59
【问题描述】:

我正在使用 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 填充我的查询结果。 现在我想通过我的数据表创建一个列表,但出现错误:当前上下文中不存在名称“dt”(大约翻译自我的母语)

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

希望你能帮助我!

非常感谢!

【问题讨论】:

  • 你在哪里定义的?

标签: c# list object datatable fill


【解决方案1】:

你需要先将返回值赋给一个变量:

DataTable dt = getListTubas.GetTubaDatabase(null);

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

【讨论】:

  • 非常感谢,您解决了,但我遇到了另一个问题,无法回复此问题!我应该创建一个新的吗?我需要更多的声誉,我是新人!
【解决方案2】:

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

var dt = getListTubas.GetTubaDatabase(null);

这将填充您的数据表

【讨论】:

    【解决方案3】:

    你也忘了这样做:

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

    应该这样做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-27
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多