J'ai précédemment posé la question et j'ai obtenu la réponse à Best approach to write query mais le problème est que si vous devez enregistrer ce résultat dans une liste, il y a duplication des enregistrements. Par exemple la table résultante de la jointure donnée EXAMPLEComment enregistrer les données extraites d'une requête
Voir qu'il y a des lignes dupliquées. Comment pouvez-vous les filtrer, et pourtant enregistrer les données du numéro de commande? Bien sûr, il peut y avoir certaines façons, mais je suis à la recherche de grandes façons
Comment pouvons-nous stocker les données dans la liste et ne pas créer des lignes en double dans la liste?
Mon code actuel pour mes tableaux est
int lastUserId = 0;
sql_cmd = new SqlCommand();
sql_cmd.Connection = sql_con;
sql_cmd.CommandText = "SELECT * FROM AccountsUsers LEFT JOIN Accounts ON AccountsUsers.Id = Accounts.userId ORDER BY AccountsUsers.accFirstName";
SqlDataReader reader = sql_cmd.ExecuteReader();
if (reader.HasRows == true)
{
Users userToAdd = new Users();
while (reader.Read())
{
userToAdd = new Users();
userToAdd.userId = int.Parse(reader["Id"].ToString());
userToAdd.firstName = reader["accFirstName"].ToString();
userToAdd.lastName = reader["accLastName"].ToString();
lastUserId = userToAdd.userId;
Websites domainData = new Websites();
domainData.domainName = reader["accDomainName"].ToString();
domainData.userName = reader["accUserName"].ToString();
domainData.password = reader["accPass"].ToString();
domainData.URL = reader["accDomain"].ToString();
userToAdd.DomainData.Add(domainData);
allUsers.Add(userToAdd);
}
}
Pour la deuxième table, j'ai une liste personnalisée qui contiendra les entrées de toutes les données dans la deuxième table.
Le tableau retourné est la table ayant des jointures et avoir plusieurs lignes pour même
pouvez-vous m'aider à me fournir un échantillon? –