我正在访问一个小型Access数据库,并将一些表放入数据集中。然后,我需要用LINQ查询这些表。我与LINQ很新的,我不明白什么是错用下面的代码:无法访问LINQ结果集中的列
DataTable cours = autOuvrDS.Tables["cours"];
DataTable etudiants = autOuvrDS.Tables["etudiants"];
DataTable resultats = autOuvrDS.Tables["resultats"];
IEnumerable<DataRow> query = from etudiant in etudiants.AsEnumerable()
join resultat in resultats.AsEnumerable()
on etudiant.Field<string>("matricule") equals resultat.Field<string>("matricule")
join cour in cours.AsEnumerable()
on resultat.Field<string>("sigle") equals cour.Field<string>("sigle")
select etudiant;
DataTable table = query.CopyToDataTable<DataRow>();
然后我循环通过每一行打印数据:
foreach (DataRow row in table.Rows)
{
Console.WriteLine(
row.Field<string>("Prenom") + "\t\t" +
row.Field<string>("Nom") + "\t\t" +
row.Field<string>("Sigle") + "\t\t" + /// PROGRAM CRASH HERE
row.Field<string>("Cours") + "\t\t"
);
}
,并获得以下执行程序时出错:“附加信息:Column'Sigle'不属于表格。”
列“Sigle”是“cours”表的一部分,我已经加入了查询,所以我会选择查询来选择连接表中的列,但似乎并非如此..那么我怎样才能从其他表中选择列?
只需将PROGRAM CRASH HERE中的berakpoint,并检查您是否访问错误的列名称或可能转换为错误的数据类型。 – YOusaFZai