C# 非常感谢您的帮助。很抱歉没有尽快指定格式,但是这些列实际上都是字符串类型。如果它不是生产代码,那也没关系,因为它只是为了学习。。现在很难,我想知道,如果这是一个障碍,为什么他们要求我们将结果放入数据表中。 DataTable cours = autOuvr
C# 非常感谢您的帮助。很抱歉没有尽快指定格式,但是这些列实际上都是字符串类型。如果它不是生产代码,那也没关系,因为它只是为了学习。。现在很难,我想知道,如果这是一个障碍,为什么他们要求我们将结果放入数据表中。 DataTable cours = autOuvr,c#,linq,visual-studio,datatable,C#,Linq,Visual Studio,Datatable,非常感谢您的帮助。很抱歉没有尽快指定格式,但是这些列实际上都是字符串类型。如果它不是生产代码,那也没关系,因为它只是为了学习。。现在很难,我想知道,如果这是一个障碍,为什么他们要求我们将结果放入数据表中。 DataTable cours = autOuvrDS.Tables["cours"]; DataTable etudiants = autOuvrDS.Tables["etudiants"]; DataTable resultats = autOuvrDS.Tables["resultats
非常感谢您的帮助。很抱歉没有尽快指定格式,但是这些列实际上都是字符串类型。如果它不是生产代码,那也没关系,因为它只是为了学习。。现在很难,我想知道,如果这是一个障碍,为什么他们要求我们将结果放入数据表中。
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"
);
}
public struct QueryResult
{
public string Prenom;
public string Nom;
public string Sigle;
public string Cours;
}
var 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 new QueryResult
{
Prenom = etudiant.Field<string>("Prenom"),
Nom = etudiant.Field<string>("Nom"),
Sigle = resultat.Field<string>("Sigle"),
Cours = resultat.Field<string>("Cours")
};
List<QueryResult> results = query.ToList();
foreach (QueryResult row in results)
{
Console.WriteLine("{0}\t\t{1}\t\t{2}\t\t{3}\t\t",
row.Prenom, row.Nom, row.Sigle, row.Cours
);
}
var 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 new { etudiant, cour };
// Définir la structure de la table de sortie
DataTable table = new DataTable();
table.Columns.Add("Prenom", typeof(string));
table.Columns.Add("Nom", typeof(string));
table.Columns.Add("Sigle", typeof(string));
table.Columns.Add("Cours", typeof(string));
// Remplir la table de sortie à partir la requête
foreach (var row in query)
{
DataRow newrow = table.NewRow();
newrow["Prenom"] = row.etudiant.Field<string>("Prenom");
newrow["Nom"] = row.etudiant.Field<string>("Nom");
newrow["Sigle"] = row.cour.Field<string>("Sigle");
newrow["Cours"] = row.cour.Field<string>("Cours");
table.Rows.Add(newrow);
}