我正在訪問一個小型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